zoukankan      html  css  js  c++  java
  • 「算法笔记」霍尔定理

    一、前置概念

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

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

    转载请注明原文链接
  • 相关阅读:
    BZOJ 3709: [PA2014]Bohater
    BZOJ 3689: 异或之
    BZOJ 4385: [POI2015]Wilcze doły
    2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017) Solution
    Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) Solution
    BZOJ 4320: ShangHai2006 Homework
    BZOJ 4318: OSU!
    2016-2017 ACM-ICPC CHINA-Final Solution
    BZOJ 5312: 冒险
    Codeforces Round #520 (Div. 2) Solution
  • 原文地址:https://www.cnblogs.com/maoyiting/p/14487725.html
Copyright © 2011-2022 走看看