DilWorth定理

DilWorth定理内容:
对于任意有限偏序集,其最大反链中元素的数目必等于最小链划分中链的数目。
反过来,对于任意有限偏序集,其最长链中元素的数目必等于其最小反链划分中反链的数目。

例题:给一个序列,每次取走一个最长上升子序列,问至少要几次。
相当于求最小链划分。
那么,求出反图的最长链。
显然,最长不上升子序列的长度就是答案。

先AC自动机建图。
问题变成:给一个DAG,若a->b,b->c,则a->c。
求它的最大独立集。

直接套用DilWorth定理。
最小链划分使用二分图匹配。

构造方案:
求出这个二分图的最大独立集。
若点x在二分图的两边都被选了,那么选择x。
使用dinic,在残量网络上bfs求最小割即可。

posted @ 2020-11-15 21:31  lnzwz  阅读(226)  评论(0编辑  收藏  举报