二部图Hall定理学习笔记

离散数学PPT:

Hall定理

定理(Hall定理) 设二部图G=<V1,V2,E>中,|V1|≤|V2|. G中存在从V1到V2的完备匹配当且仅当V1中任意k 个顶点至少与V2中的k个顶点相邻(k=1,2,…,|V1|).

定理 设二部图G=<V1,V2,E>中, 如果存在t≥1, 使得V1中每个顶点至少关联 t 条边, 而V2中每个顶点至多关联t条边,则G中存在V1到V2的完备匹配.

Hall定理中的条件称为“相异性条件”, 第二个定理中的条件称为 t 条件. 满足 t 条件的二部图一定满足相异性条件.

换种说法是这样的:

对于一个二分图G={U+V,E},
{\forall} S\subset U, \vert S\vert \leq \vert N(S)\vert ⟺ X中的每个结点都有匹配。

其中N(S)为图G中所有与W相连的结点的集合。

 

这个定理给出了判断一个二分图中是否存在完备匹配充要条件,即任意U部的子集的元素的个数要不大于其相连的V部的元素的个数。

 

Hall定理还有个推论:

对于二分图(U+V, E)最大匹配数为

 \vert M\vert=|U|-\max \limits_{ (S\subset U)}(\vert S\vert - \vert N(S) \vert)

其中N(S)是S的邻点

 

解释:设最小匹配不了的点个数设为p,那么最大匹配的个数就是|U| - p, p等于max (|S| − N(S)),其中S是U部的任意子集, N(S) 是和S相连的V部的点的个数。

 

例1 

[ARC076F]Exhausted?

题意:有N个人,1 ~ M号座位,第i个人想坐的座位是 [1,Li] 或 [Ri,M],问最少有多少人的意愿得不到满足。

思路:

二分图 G = {X+Y, E},X中的所有结点满足:若其编号为i,则只与Y中编号小于等于Li或编号大于等于Ri的结点连边。给出 |X|, |Y| 和所有的Li, Ri,求G的最大匹配M。( 输出|X|−M,即最多有多少人能有座位坐 )

根据Hall定理的推论,此题中,已知 |X|,要求G的最大匹配|M|,只要求 max(|S|−|N(S)|)。对于任意的人的子集S(S\subset X),N(S) 必然可以表示成[1,lb]U[ub,M],也即 Y - [lb, ub],[lb, ub]是Y中一个编号的区间。所以我们可以枚举N(S),再求最大的|S|是多少,即枚举[lb, ub],Li <= lb && ub <= Ri的人即可以放在S中。

所以这样可以简单的用O(n ^ 2)的算法解决,用线段树可以优化到O(nlogn).

//我还没写这题的代码

 

 

例2

2019杭电多校第8场1011


参考文献:

屈婉玲《离散数学》课件

AtCoder Regular Contest 076 F - Exhausted (Hall's marriage theorem 或 贪心)

【学习】Hall’s Marriage Theorem

 

待阅读

例1exhausted贪心

例1exhausted二分图最大匹配等于最小覆盖

例1网络流做法

自己研究一个东西然后写博客好累,我还是先看书补基础吧。。。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值