「算法笔记」霍尔定理

一、前置概念

大家都会的东西。下面的图一般指二分图。

  • 匹配:在图论中,一组匹配(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!

posted @ 2021-03-05 18:16  maoyiting  阅读(878)  评论(0编辑  收藏  举报