一、前置概念
大家都会的东西。下面的图一般指二分图。
-
匹配:在图论中,一组匹配(matching)是一个边的集合,其中任意两条边都没有公共端点。
对于一组匹配 (S)((S) 是一个边集),属于 (S) 的边被称为“匹配边”,匹配边的端点被称为“匹配点”。剩余的边或点被称为“非匹配边”和“非匹配点”。
-
最大匹配:一个图所有匹配中,所含匹配边数最多的匹配。
-
完美匹配:如果一个图的某组匹配中,图中所有的顶点都是匹配点(显然同时也符合最大匹配),那么它就是一个完美匹配。
完美匹配,就是一组匹配中,左部的一个点恰好匹配到右部一个点,同样地,右部的一个点恰好匹配到左部一个点。
二、霍尔定理
霍尔定理是判断二分图是否存在完美匹配的充要条件。
-
首先假设 (|X|leq |Y|)(其中 (X) 是左部的点数,(Y) 是右部的点数)。
上面的这种说法,意思是,我们能把 (X) 中的点全部用完(作为匹配点),(Y) 中的点不一定用完(将点数较小的一侧的点都用完)。
另一种说法是:要求 (|X|=|Y|)(点之间一一匹配,所有点都用完)。
我们可以理解为是两种定义,两种说法哪个对,取决于怎么定义“完美匹配”。但是霍尔定理对它们都适用,所以讨论霍尔定理时,我们采用更一般性的定义。
-
对于任意 (X) 的子集 (a),设 (b) 是 (a) 能到达的点集的并(通过 (a) 可以唯一确定 (b)),都有 (|a|leq |b|)。
必要性是显然的。因为若某一个 (|a|>|b|),(a) 中必然有某些点是匹配不了的(即完成不了把 (a) 中的点用完这个要求)。充分性不太好证,可以不用管,而且这个定理看起来就很对 QwQ。
举个栗子:LOJ 6062. 「2017 山东一轮集训 Day2」Pair(题解被吃了)。
最后,感谢 Dls 的指导,Dlstxdy!