Hall定理(霍尔定理)证明及推广
引言
网络上有许多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定理(霍尔定理)证明及推广的更多相关文章
- Codeforces 1009G Allowed Letters FMT,二分图,二分图匹配,霍尔定理
原文链接https://www.cnblogs.com/zhouzhendong/p/CF1009G.html 题目传送门 - CF1009G 题意 给定一个长度为 $n$ 的字符串 $s$ .并给定 ...
- 【LOJ523】[LibreOJ β Round #3]绯色 IOI(悬念)(霍尔定理_基环树)
题目 LOJ523 官方题解 分析 由于某些原因,以下用「左侧点」和「右侧点」分别代替题目中的「妹子」和「男生」. 根据题意,显然能得出一个左侧点只能向一个或两个右侧点连边.这似乎启发我们把左侧点不看 ...
- 【题解】 bzoj1135: [POI2009]Lyz (线段树+霍尔定理)
题面戳我 Solution 二分图是显然的,用二分图匹配显然在这个范围会炸的很惨,我们考虑用霍尔定理. 我们任意选取穿\(l,r\)的号码鞋子的人,那么这些人可以穿的鞋子的范围是\(l,r+d\),这 ...
- 【题解】 bzoj3693: 圆桌会议 (线段树+霍尔定理)
bzoj3693 Solution: 显然我们可以把人和位置抽象成点,就成了一个二分图,然后就可以用霍尔定理判断是否能有解 一开始我随便YY了一个\(check\)的方法:就是每次向后一组,我们就把那 ...
- 【题解】 AtCoder ARC 076 F - Exhausted? (霍尔定理+线段树)
题面 题目大意: 给你\(m\)张椅子,排成一行,告诉你\(n\)个人,每个人可以坐的座位为\([1,l]\bigcup[r,m]\),为了让所有人坐下,问至少还要加多少张椅子. Solution: ...
- [hdu5503]EarthCup[霍尔定理]
题意 一共 \(n\) 只球队,两两之间会进行一场比赛,赢得一分输不得分,给出每只球队最后的得分,问能否构造每场比赛的输赢情况使得得分成立.多组数据 \(T\le 10,n\le 5\times 10 ...
- [CF981F]Round Marriage[二分+霍尔定理]
题意 洛谷 分析 参考了Icefox 首先二分,然后考虑霍尔定理判断是否有完美匹配.如果是序列的话,因为这里不会出现 \(j<i,L(i)<L(j)\) 或者 \(j<i,R(i)& ...
- [CF1009G]Allowed Letters[贪心+霍尔定理]
题意 给你一个长为 \(n\) 的串,字符集为 \(a,b,c,d,e,f\) .你可以将整个串打乱之后重新放置,但是某些位置上有一些限制:必须放某个字符集的字符.问字典序最小的串,如果无解输出 &q ...
- [BZOJ3693]圆桌会议[霍尔定理+线段树]
题意 题目链接 分析 又是一个二分图匹配的问题,考虑霍尔定理. 根据套路我们知道只需要检查 "区间的并是一段连续的区间" 这些子集. 首先将环倍长.考虑枚举答案的区间并的右端点 \ ...
- [BZOJ2138]stone[霍尔定理+线段树]
题意 一共有 \(n\) 堆石子,每堆石子有一个数量 \(a\) ,你要进行 \(m\) 次操作,每次操作你可以在满足前 \(i-1\) 次操作的回答的基础上选择在 \([L_i,R_i]\) 区间中 ...
随机推荐
- 关于 axios 是什么?以及怎么用?
〇.前言 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中.简单的讲就是可以发送 Get.Post 请求. 诸如 Vue.React.Angular 等前 ...
- 【项目学习】ERC-4337 抽象账户项目审计过程中需要注意的安全问题
抽象账户是什么 抽象账户(也有叫合约钱包)是 EIP-4337 提案提出的一个标准.简单来说就是通过智能合约来实现一个"账户(account)",在合约中自行实现签名验证的逻辑.这 ...
- 深入探索 Django Rest Framework
这篇文章会详细介绍Django REST Framework的核心组成部分,包括Serializers.ViewSets.Routers.权限和认证系统以及测试和调试工具.文章从基础开始,逐步深入,旨 ...
- 2023河南省ICPC大学生程序设计竞赛-wh
第一次出去比赛,首先感谢程老师选择我们新生更多的比赛机会,感谢! 在周六我们一起做了高铁出发取洛阳参加icpc河南省赛,不得不说洛阳师范学院确实环境很好看..在热身赛时,已经被泼了冷水,这C也太难了, ...
- Geo
Geo 应用情景 打车时寻找半径在多少范围的司机 查找附近的酒店,微信摇一摇 Linux中文乱码如何处理? redis-cli --raw docker: docker exec -it redis ...
- 管理虚拟环境——virtualenvwrapper
1.安装virtualenvwrapper 输入命令:pip install -i https://pypi.douban.com/simple/ virtualenv //下载virtualenvw ...
- Lora简介
断断续续接触lora已经有几年时间了,一直用lora来做点对点的传输,近来有朋友想通过Lora来做广播群发和群收管理,想通过低成本方式实现,sx1302几百的银子,成本有点高,尝试通过sx1278/L ...
- protoc-gen-doc 自定义模板规则详解
protoc-gen-doc 自定义模板规则详解 配套演示工程 此项目中所用 proto 文件位于 ./proto 目录下,来源于 官方proto示例 此项目中所列所有模板case文件位于 ./tmp ...
- 理解linux的CPU上下文切换
前言 linux是一个多任务操作系统,它支持远大于CPU数量的任务同时运行.当然,这个同时运行不是真的同时运行,而是系统在很短的时间内轮流分配CPU资源,由于CPU的速度很快,所以给人一种同时运行的错 ...
- Linux cpu 亲缘性 绑核
前言 https://www.cnblogs.com/studywithallofyou/p/17435497.html https://www.cnblogs.com/studywithallofy ...