图论笔记
一般图
最小链覆盖/最小反链覆盖
Dilworth 定理
由于实际上是偏序集划分,所以是可重的链。
1、最小反链覆盖=最长链。
证明:
首先如果最长链的大小为 r,那么显然不可能有比 r 更小的最小反链覆盖(你这条链总得分成 r 份吧)。
关于恰好为 r 的构造,可以考虑分层图,每次取出最极小元,删去,然后递归,每一层构成一条反链。
2、最小链覆盖=最长反链。
证明:
同理如果最长反链的大小为 r,不可能有更小的最小链覆盖。
接下来考虑归纳构造。
n=1 时显然成立。
假如存在一个反链大小为 r 且不全是极大元或极小元,那么我们可以在这个反链这里做个分组,上面一组包含大于等于反链的所有元素,下面一组包含小于等于反链的所有元素,递归处理。
假如所有反链要么全是极大元,要么全是极小元,那么我们考虑抠掉一对有关系的极小元和极大元,那么可以考虑到剩下的元素的反链最大大小为 m-1(你不可能有别的没覆盖的点,否则反链就不一定全是极大元或最小元了),然后你再递归,分上面两种情况考虑就好了。
二分图
二分图匹配
下面的所有描述均有,对于二分图的两个部\(X\)、\(Y\),\(|X|=n\),\(|Y|=m\),满足\(n \leq m\)
Hall 定理
如果满足二分图有完美匹配,则对于\(X\)中任意k个点,他们与\(Y\)连接的点的并集必然不少于k个。
挺显然的。(?)
转化:任意k个其实可以转化成对于所有子段均满足,因为不连续的也可以拆成多个子段。
然后通常来讲这个定理并非直接用的,而是利用这个思想来看看能不能用别的方式来维护。
例题:bzoj 2138 / XSY 3824 U.N.OWEN就是她吗?
↑主要是看到这个题目名字才去写的(
最大流=最小割
有些时候转化之后就有奇效,能够有良好的性质做 dp 什么的。
最大匹配、最小点覆盖、最大独立集
-
最大匹配不用多说
-
最小点覆盖:覆盖集:一个点集,满足任意一条边至少有一个端点是点集中的点;最小点覆盖=最大匹配(一正一反来证明)
-
最大独立集:独立集:一个点集,其中任意两点没有连边;一个独立集显然是一个覆盖集的补集;最大独立集=总点数-最小点覆盖=总点数-最大匹配
经典模型
- 若\(X\)或\(Y\)中任意一部,均有每一个点所连的点在另一部上编号连续(l~r),那么可以用堆简单维护:每次贪心选取r最小的。
例:XSY 3899 切割
平面图
平面图->对偶图
关于链覆盖
平面图的最大反链覆盖=对偶图上最长链。
证明:咕。