二分图笔记
二分图
二分图是什么
二分图的节点有 \(2\) 个集合几何组成,且两个集合没有边。
二分图的性质
-
把二分图红蓝染色,每一条边只连接一个红节点和一个蓝节点。
-
一个图是二分图的充要条件是这个图没有长度为奇数的环。
二分图的判定
在一个图上进行 dfs 红蓝染色,如果出现冲突(有一条边连着相同的颜色的点),那么绝对不是二分图。
二分图最大匹配
匹配的定义:
图 \(G\) 的匹配是图 \(G\) 的一个边集 \(E\) 满足集合 \(E\) 中所有边没有公共端点。
最大匹配的定义:
集合 \(E\) 大小最大的匹配。
Hall 定理:
对于二分图两边的集合 \(X,Y\),二分图完美匹配数为 \(\min(|X|,|Y|)\)。
如果 \(|X|<|Y|\),如果存在完美匹配的充要条件是对于任意一个 \(X\) 的子集,设大小为 \(k\),那么和这个子集相连的 \(Y\) 不小于 \(k\) 个。
推论:二分图最大匹配的个数是 \(|X|-\max(|X'|-|N(X')|)\),其中 \(X'\) 包含于 \(X\),且 \(N(X')\) 表示集合 \(X'\) 的相邻节点集合。
算法:
可以建一个超级源点,然后跑一遍 Dinic 即可,如果需要输出方案,那么只需要判断一条边是否有流量即可。
二分图最小点覆盖:
选最少的点,满足每条边至少有一个端点被选。
Köing 定理:二分图中最小点覆盖的点数等于最大匹配数。
二分图最大独立集:
选最多的点,满足两两之间没有边相连。
二分图中,最大独立集 \(=n-\) 最小点覆盖。
二分图最大权完美匹配 :KM 算法
在最大匹配的同时边的权值最大。
定义:
- 顶标:点的的一个标记,满足 $w(u,w) \leq left_u + right_v $,并不唯一。
- 相等子图:原图的一个字图,满足图中任意边满足 \(left_u + right_v = w(u,v)\)。
- 交错树:增广路径形成的树。
定理:
对于某组可行顶标,如果其相等子图存在完美匹配,那么这个匹配就是二分图的最大权完美匹配。
KM 算法:
确定顶标->尝试匹配->如果有完美匹配则结束->否则修改顶标
对于匹配失败的左部点,他 dfs 时形成了一个交错树。

浙公网安备 33010602011771号