二分图学习笔记
二分图笔记
定义:
- 二分图 指节点由两个集合组成,且集合内部没有边的图
- 图 \(G\) 的 匹配 是一个边集 \(E\),且 \(E\) 中所有边没有公共端点
- 图 \(G\) 的 最大匹配 指边数最多的匹配
- 二分图 \(G\) 的 完美匹配 指设二分图两集合为 \(X, Y\),最大匹配数为 \(min(|X|, |Y|)\)
- Hall 定理:
- 设二分图 \(G\) 的两个集合为 \(X, Y\),且 \(|X|\) 较小,则 \(G\) 存在完美匹配的充要条件是对于任意 \(X\) 的子集,设其大小为 \(k\),则和该子集相连的点 \(Y\) 必须不小于 \(k\) 个
- 推论:对于较小的集合 \(X\),二分图最大匹配数为 \(|X|-\max(|X'|-|N(X')|)\),\(N(u)\) 表示 \(u\) 的邻居节点集合
- 最小点覆盖:选最少的点使得每条边至少有一个端点被选
- König 定理:二分图中 最小点覆盖等于最大匹配
- 最大独立集:选最多的点使得两两间没有边相连
- 最大独立集 \(=\) \(n-\)最小点覆盖
性质:
- 二分图没有奇环
- 没有奇环的图是二分图
- 证明:设路径为 \(a_1 \rightarrow a_2 \rightarrow \cdots \rightarrow a_k\),存在一条边 \((a_1, a_k)\),\(a_1\) 与 \(a_k\) 同色;注意到同色点间路径长度必然为偶,则 \(a_1 \rightarrow a_2 \rightarrow \cdots \rightarrow a_k \rightarrow a_1\) 形成一条奇环,矛盾
- 推论 (二分图判定):对图进行 dfs 染色,相邻点与当前点异色,若不出现矛盾则为二分图
匈牙利算法:
- 复杂度 \(O(n \times e + m)\),\(n\) 为左部点个数,\(e\) 为边数,\(m\) 为右部点个数
- 流程:对于每个左部点 \(u\),枚举其边 \((u, v)\),若出现冲突则尝试将 \(v\) 的原配 \(u'\) 向其下一条边走匹配,若不冲突则匹配 \((u, v)\),反之令 \(u\) 失配

浙公网安备 33010602011771号