
Source
TJOI2015
bzoj5481
Hint
转dag,求最小链覆盖
Solution
根据Dilworth定理,最小链覆盖=最小反链
然后每个点按权值拆开来,他们一定在同一条反链上
然后他一定是形如一个递增序列的
那么dp(i,j)表示结尾在(i,j)右上角的最长反链
然后就可以直接dp了
1 |
int a[MAX_N][MAX_N]; |

TJOI2015
bzoj5481
转dag,求最小链覆盖
根据Dilworth定理,最小链覆盖=最小反链
然后每个点按权值拆开来,他们一定在同一条反链上
然后他一定是形如一个递增序列的
那么dp(i,j)表示结尾在(i,j)右上角的最长反链
然后就可以直接dp了
1 |
int a[MAX_N][MAX_N]; |
近期评论