引言

网络上有许多Hall定理的证明,但是对于Hall定理的几个推广的介绍却少之又少,因此本文来简单介绍一下

注:为了使这篇文章看起来简单易懂,本文将不会使用图论语言,会图论的朋友们可以自行翻译为图论语言。

背景:

在遥远的地方有一个神奇国家,这个国家有n个男生和m个女生(n  m)。每个男生都喜欢着若干个女生(注:这个国家不存在基佬,即男生不能喜欢男生),现在男生们希望每位男生都可以找到一位自己喜欢的女生作为女朋友(注:不能与他人共享女朋友)。

1. 霍尔定理

霍尔定理声称每位男生都可以找到一位自己喜欢的女生作为女朋友当且仅当从这n个男生中任取若干个男生(不妨为k个)都有 至少被他们中1个男生喜欢的女生数量大于等于k人。

霍尔定理证明:

1)必要性:必要性是显然的:如果k个男生喜欢的女生总共只有小于等于k-1个,那么显然一定至少有一个可怜鬼找不到女朋友

2)充分性:下对男生个数n归纳证明霍尔定理的充分性成立。

n=1时显然成立,若小于n时均成立,n时:

如果任取若干个男生(不妨为k个(k不等于n))都有 至少被他们中1个男生喜欢的女生数量大于等于k+1人

那么我们将随便一个男生与一个他喜欢的女生组为男女朋友,之后将他们去掉。不难发现剩下的人依旧满足霍尔定理的条件但此时男生只剩下n-1个,由归纳假设知:成立

如果存在若干个男生(不妨为k个(k不等于n))满足至少被他们中1个男生喜欢的女生数量恰好为k人

那么由归纳假设知:这k个男生与k个女生可以组为k对男女朋友,将这k对男女朋友去掉。不难发现剩下的人依然满足霍尔定理条件(如果有若干的男生不满足,那么这些男生与去掉的那k个男生在初始时就不满足条件),由归纳假设知:成立。

综上,n时成立,所以霍尔定理的充分性成立。

证毕。

2. 霍尔定理-加强1

然而现实是残酷的,不可能每个人都能找到属于自己的女朋友,因此男生们希望最多有a(a<n)个人找不到自己的女朋友,那么此时的充要条件又是什么呢?

霍尔定理-加强1 声称:最多可以有a个男生找不到自己的女朋友当且仅当从这n个男生中任取若干个男生(不妨为k个)都有 至少被他们中1个男生喜欢的女生数量大于等于k-a人。

霍尔定理-加强1 证明:

1)必要性:必要性依旧是显然的,如果k个男生喜欢的女生总共只有小于等于k-a-1个,那么显然一定至少有a+1个可怜鬼找不到女朋友

2)充分性:充分性的证明与霍尔定理充分性的证明基本相同,还是对男生个数n归纳证明。

n=a,a+1时显然成立,若小于n时均成立,n时:

如果任取若干个男生(不妨为k个(k不等于n))都有 至少被他们中1个男生喜欢的女生数量大于等于k-a+1人

那么我们将随便一个男生与一个他喜欢的女生组为男女朋友,之后将他们去掉。不难发现剩下的人依旧满足霍尔定理-加强1的条件但此时男生只剩下n-1个,由归纳假设知:成立

如果存在若干个男生(不妨为k个(k不等于n))满足至少被他们中1个男生喜欢的女生数量恰好为k-a人

那么由归纳假设知:这k个男生与k-a个女生可以组为k-a对男女朋友(有a个可怜鬼找不到女朋友),将这k个男生与k-a个女生去掉。不难发现剩下的人满足霍尔定理条件(注意是霍尔定理不是霍尔定理-加强1)(如果有若干的男生不满足,那么这些男生与去掉的那k个男生在初始时就不满足条件),由霍尔定理知:成立。

综上,n时成立,所以霍尔定理-加强1的充分性成立。

3. 霍尔定理-加强2

为了更加深入了了解这个国家(大雾) 我们穿越到了古代,在古代这个国家还是有n个男生与m个女生,只不过这时候男生们的标配不再是1个女朋友了,他们需要1位妻子与4位小妾(大大雾) ,男生们希望每位男生都可以找到五位自己喜欢的女生作为女朋友(注:不能与他人共享女朋友)。那么此时的等价条件又是什么呢?

霍尔定理-加强2声称:每位男生都可以找到五位自己喜欢的女生作为女朋友当且仅当从这n个男生中任取若干个男生(不妨为k个)都有 至少被他们中1个男生喜欢的女生数量大于等于5*k人。

霍尔定理-加强2 证明:

众所周知,数学家喜欢把未知的问题化归为已知的问题,那么这个问题该怎么化归呢?

很显然我们需要穿越回近代来考虑这个问题。在近代找1位妻子与4位小妾是犯法的,因此这些男生被五马分尸了(太可怜了),每一位男生都被分为了5块(太太可怜了),每个男生的5块尸首分别被他的5个女朋友保存着。诶?等等,你发现了什么?这不就是霍尔定理吗?只不过从男生找女朋友变为了男生的尸首找女朋友(尸首还能找女朋友???),在古代每个男生能找到5位女朋友等价于在近代他的每个尸首都能找到1位女朋友(害怕)因此由霍尔定理他的等价条件就是从5n个尸首中任取若干个(不妨为k个) 都有:至少被他们中1个尸首的主人喜欢的女生数量大于等于k个,而显然的这等价于从这n个男生中任取若干个男生(不妨为k个)都有 至少被他们中1个男生喜欢的女生数量大于等于5*k人。于是霍尔定理-加强2就被我们证完了(神奇吧!)

霍尔定理-加强2 推广:

在古代也是有阶级之分的,每个人的需求也是不同的,如果第i个男生希望找r(i)个女朋友那么此时的等价条件又是什么呢?

很容易猜到第i位男生都可以找到r(i)位自己喜欢的女生作为女朋友当且仅当从这n个男生中任取若干个男生(不妨为k个)都有 至少被他们中1个男生喜欢的女生数量大于等于S人,其中S为这k个男生的r(i)之和。

Hall定理(霍尔定理)证明及推广的更多相关文章

  1. Codeforces 1009G Allowed Letters FMT,二分图,二分图匹配,霍尔定理

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF1009G.html 题目传送门 - CF1009G 题意 给定一个长度为 $n$ 的字符串 $s$ .并给定 ...

  2. 【LOJ523】[LibreOJ β Round #3]绯色 IOI(悬念)(霍尔定理_基环树)

    题目 LOJ523 官方题解 分析 由于某些原因,以下用「左侧点」和「右侧点」分别代替题目中的「妹子」和「男生」. 根据题意,显然能得出一个左侧点只能向一个或两个右侧点连边.这似乎启发我们把左侧点不看 ...

  3. 【题解】 bzoj1135: [POI2009]Lyz (线段树+霍尔定理)

    题面戳我 Solution 二分图是显然的,用二分图匹配显然在这个范围会炸的很惨,我们考虑用霍尔定理. 我们任意选取穿\(l,r\)的号码鞋子的人,那么这些人可以穿的鞋子的范围是\(l,r+d\),这 ...

  4. 【题解】 bzoj3693: 圆桌会议 (线段树+霍尔定理)

    bzoj3693 Solution: 显然我们可以把人和位置抽象成点,就成了一个二分图,然后就可以用霍尔定理判断是否能有解 一开始我随便YY了一个\(check\)的方法:就是每次向后一组,我们就把那 ...

  5. 【题解】 AtCoder ARC 076 F - Exhausted? (霍尔定理+线段树)

    题面 题目大意: 给你\(m\)张椅子,排成一行,告诉你\(n\)个人,每个人可以坐的座位为\([1,l]\bigcup[r,m]\),为了让所有人坐下,问至少还要加多少张椅子. Solution: ...

  6. [hdu5503]EarthCup[霍尔定理]

    题意 一共 \(n\) 只球队,两两之间会进行一场比赛,赢得一分输不得分,给出每只球队最后的得分,问能否构造每场比赛的输赢情况使得得分成立.多组数据 \(T\le 10,n\le 5\times 10 ...

  7. [CF981F]Round Marriage[二分+霍尔定理]

    题意 洛谷 分析 参考了Icefox 首先二分,然后考虑霍尔定理判断是否有完美匹配.如果是序列的话,因为这里不会出现 \(j<i,L(i)<L(j)\) 或者 \(j<i,R(i)& ...

  8. [CF1009G]Allowed Letters[贪心+霍尔定理]

    题意 给你一个长为 \(n\) 的串,字符集为 \(a,b,c,d,e,f\) .你可以将整个串打乱之后重新放置,但是某些位置上有一些限制:必须放某个字符集的字符.问字典序最小的串,如果无解输出 &q ...

  9. [BZOJ3693]圆桌会议[霍尔定理+线段树]

    题意 题目链接 分析 又是一个二分图匹配的问题,考虑霍尔定理. 根据套路我们知道只需要检查 "区间的并是一段连续的区间" 这些子集. 首先将环倍长.考虑枚举答案的区间并的右端点 \ ...

  10. [BZOJ2138]stone[霍尔定理+线段树]

    题意 一共有 \(n\) 堆石子,每堆石子有一个数量 \(a\) ,你要进行 \(m\) 次操作,每次操作你可以在满足前 \(i-1\) 次操作的回答的基础上选择在 \([L_i,R_i]\) 区间中 ...

随机推荐

  1. 数据结构课后题答案 - XDU_953

    参考书: 数据结构与算法分析(第二版) 作者:荣政 编 出版社:西安电子科技大学出版社 出版日期:2021年01月01日 答案解析:

  2. 前端Vue自定义精美悬浮菜单按钮fab button 可设置按钮背景颜色 菜单按钮展开条目

    前端Vue自定义精美悬浮菜单按钮fab button 可设置按钮背景颜色 菜单按钮展开条目,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugi ...

  3. Visual Studio Code调试和发布ASP.NET Core Web应用

    前言 上一篇文章主要讲了Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用有兴趣的同学可以去看看,今天咱们主要是要讲讲如何在VS Code中调试和发布AS ...

  4. 【Qt 应用】模仿实现Win10的Wifi列表

    这里使用 Qt 模仿实现了 Win10 系统下的 Wifi 列表,主要用的是 QlistWidget + xml + cmd命令行 实现. 效果 下载地址 https://github.com/con ...

  5. PNG结构

    参考此博客 PNG的文件头总是固定的八个字节 89 50 4E 47 0D 0A 1A 0A 数据块长度13 00 00 00 0D 文件头数据块标识IDCH 49 48 44 52 13位数据块(I ...

  6. Windows查询进程和杀死进程

    查询进程 查询进程占用的端口(通过端口查询) netstat -ano |findstr "端口号" 杀死进程 通过进程号查看所属进程名称 tasklist |findstr &q ...

  7. 解决:vue-loader was used without the corresponding plugin.

    原因 webpack经常出现版本不兼容问题,vue-loader在15以前的版本打包时候会自动生成VueLoaderPlugin,但是现在需要手动去wepack.config.js文件中去加入,如下图 ...

  8. PHPstudy+Xdebug动态调试代码过程中遇到一分钟就超时问题的解决办法

    环境是PhpStorm+Xdebug+WAMP 在实际调试的过程中 碰到了调试还没走完就自动结束的情况 很尴尬 查阅了相关文档资料 找到了解决方法 首先在php.ini中进行修改 我的配置文件地址在 ...

  9. SpringBoot+Mybatis-Plus+Mysql的保姆级搭建

    本文通过简单的示例代码和说明,让读者能够了解Mybatis-Plus+Mysql的简单使用 必须说明的是,本文有部分内容是为了后续的微服务写的,所以如果只想用Mybatis-Plus的话,直接使用ba ...

  10. 半导体行业通信标准SECS/GEM协议一看就懂的

    半导体行业通信标准SECS/GEM透析 HSMS通信的设备端通常为客户端(Equipment)(也可称为Active 在通信中主动连接对方的),工厂会部署服务端(Host)(也可称为Passive 被 ...