二分图
- 二分图本身是不存在长度为奇数的环 \(\Rightarrow\) 所以我们可以先求出\(G\)的任意一颗\(dfs\)树
若任意非树边两端的节点深度的奇偶性不同,就不是二分图,否则就是 - 二分图最大匹配
- 最大匹配的图中,一定不能存在增广路
- 二分图最小点覆盖 \(=\) 二分图最大匹配
- 二分图最大独立集 \(+\) 二分图最大匹配 \(=\) 二分图总点数
- 二分图最小边覆盖 \(=\) 二分图最大独立集
- 如果当前不存在增光路,那么后续也一定不存在
\(\text{P1525}\)
二分答案\(mid\),检查\(mid\),这个答案是否合法
- 边权大于\(mid\)的两个点不能分在一个监狱,所以连一条边
- 最后对这样建出来的图,判断它是不是二分图,也就是能不能分到两个监狱里,属于一条边的两端的人的所属监狱不同
\(\text{P3355}\)
这个相当与是要求二分图最大独立集(能互相攻击的骑士有连边)
因为二分图最大独立集 \(=\) 总点数 \(-\) 最大匹配
那么我们把能够互相攻击的位置连一下(两个位置都不能是障碍),然后用总点数 \(-\) 最大匹配就是答案
\(\text{P3386}\)
模板
\(\text{P1963}\)
首先二分图 原序列下标 \(i\),要和 \(0\)到\(n-1\)的值匹配,而且必须是完美匹配(排列中每一数恰好出现一次)
发现虽然按照题意 每一个 \(A_i\) 可能与 \(T_{A_i + d_i}\;,T_{A_i - d_i}\;,T_{A_i - n + d_i}\;,T_{A_i + n - d_i}\) 连边
但是 \(A_i + d_i\) 和 \(A_i - d_i\) 肯定只有一个 再 \(1\) 到 \(n\) 的范围内, \(A_i - n + d_i\) ,\(A_i + n - d_i\) 也一样
然后就是解决最小字典序的问题
先给出结论,再模板的基础上改一个,主函数的从 0到\(n-1\) 循环,改为 \(n-1\) 到 \(0\) 循环
证明:1.为什么在左边最多只有两条连边的二分图上找完美匹配,倒着,可以保证字典序最小?
-
第一步:化简图,只剩环
- 我们先不停找右边度数为\(1\) 的点, 若有要形成完美匹配,与它相连的左部点必须要与它匹配,没有别的选择
- 确定这样的匹配后,我们就把这两个点,和这两个点的所有边都删掉
反复这样做,直到右部点,没有度数为\(1\)的点,此时左右剩余的点数相等,即为 \(k\),每一个右边点的度数都 \(\ge\) 2,总度数是 \(2k\),因此每个右边点的度数只能是2,这样推论可以发现 每个左边的度数恰好是2
-
在度数为 2 的环里,每个左点恰有两条边。当某个左点要抢走一个右点时,被抢的左点只剩下唯一的一条其它边可以走。于是:
- 它只能顺着那唯一一条边去占另一个右点;
- 那个右点原来的左点又被逼着走它的另一条边……
这种“链式反应”会沿着环一直传递,直到某个右点本来就是空闲的,或者传回起点。
2.为什么在二分图完美匹配中直接倒着匹配不能保证字典序最小?
这与第一问相对的是一般情况,与第一个情况相对,再第一个情况里,当后面的点来抢占其他点的一匹配点时,原来的点只能沿着唯一的另一条边走;而再一般情况下不能保证只有另一条边,所以虽然能保证当前最优,但是因为有后效性,不能保证全局最优
本题目属于情况1,可以直接用匈牙利倒过来匹配做到字典序最小
\(\text{P4055}\)
首先发现,可以把这个图染成两种颜色,能够相到达的两个点,连一条边
结论:
如果起点存在某个最大匹配不包含他,(即该起点不是所有最大匹配的必经点),则后手有必胜策略win,否则先手必胜lose)
原理:假设存在一个最大匹配 \(M\) ,且起点 \(v\) 不在 \(M\) 中,则 \(AA\) 选择 \(v\) 后, \(YY\) 沿着非匹配边走到一个 \(v\) 的相邻点 \(u\), \(u\) 一定在最大陪陪中 (否则\(u-v\)就是一条增广路)。此时 \(AA\) 只需沿着 \(u\) 的匹配边,走到对应点。这样\(AA\)总是沿着匹配边走, \(YY\)总是沿着非匹配边走,由于最大匹配没有增广路,所以这样走下去, \(YY\) 就动不了
反过来,如果起点不是必经点,那么 \(YY\) 可以一步走到最大匹配上面,然后按照刚刚 \(AA\) 的策略
所以问题转换为找最大匹配必经点好做

浙公网安备 33010602011771号