简记Dilworth定理
简记Dilworth定理
图论形式:DAG 的最小链覆盖等于最大独立集。
数学形式:对于一个满足偏序关系 \(\preceq\) 的集合 \(S\),定义“链”表示:\((p_1,p_2,\cdots p_n)\text{ st. }p_i\preceq p_{i+1}\),"反链"表示:\((p_1,p_2,\cdots,p_n)\text{ st. }\forall i,j,p_i\not\preceq p_j\land p_j\preceq p_i\)
则最小链覆盖数=最长反链长度,最长链长度=最小反链覆盖数。
例题:导弹拦截
令一共有 \(n\) 个导弹,第 \(i\)个导弹的高度为 \(h_i\),则集合 \(\{(i,h_i)\}\) 为偏序集,其上的偏序 \(\preceq\) 定义为:
\[(i,h_i)\preceq (j,h_j)\iff(i\le j\land h_i\ge h_j)
\]
进而根据 Dilworth 定理有:序列的不上升子序列的最少覆盖数等于最长上升子序列长度。
于是求最长上升子序列即可。

浙公网安备 33010602011771号