Dilworth 定理:对于任意有限偏序集,其最长反链中元素的数目必等于最小链覆盖中链的数目
容易发现偏序集中的偏序关系等价于单向边,偏序集形成的图是 DAG
对于一个 $ n $ 个点的偏序集形成的 DAG 求最小链覆盖可以用二分图匹配解决
将第 $ i $ 个点拆成 $ i $ 和 $ i + n $ 两个点,如果 DAG 中存在 $ i $ 连向 $ j $ 的边,就在二分图内添加 $ i + n $ 和 $ j $ 之间的连边
设二分图的最大匹配为 $ m $,则最小链覆盖为 $ n - m $,相当于选出尽可能少的路径终点
容易发现同一条链中的点不能同时存在于反链中,所以最长反链的上界是 $ n - m $
如果 $ i $ 和 $ i + n $ 都在最大独立集中就将 $ i $ 加入反链中,由于最大独立集大小为 $ 2n - m $,此时找到的反链长度的下界是 $ n - m $
因此最长反链长度为 $ n - m $,即为最小链覆盖中链的数目