引言

网络上有许多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. java BigDecimal解决浮点数的精度丢失和大数计算问题

    java BigDecimal解决浮点数的精度丢失和大数计算问题 抛出浮点数问题: 先考个题,输入什么? System.out.println(0.1 + 0.2); 答案:0.30000000000 ...

  2. 跨越HTTP无状态边界:Cookie与Session在Django中的实战应用

    本文深入探索了Django中的Cookie和Session,解析了如何应对HTTP协议的无状态性问题,说明其基础概念,分析工作原理,并讨论何时应选择使用Cookie或Session.文章进阶部分,提出 ...

  3. 使用LabVIEW实现 DeepLabv3+ 语义分割含源码

    前言 图像分割可以分为两类:语义分割(Semantic Segmentation)和实例分割(Instance Segmentation),前面已经给大家介绍过两者的区别,并就如何在labview上实 ...

  4. 利用Spire.Pdf实现PDF添加印章的操作

    在一些文档处理中,我们需要对PDF盖上公司的印章操作,本篇随笔介绍利用Spire.Pdf实现PDF添加印章的操作,如全章和骑缝章的处理. 1.实现效果和处理代码 有时候,需要在特定的位置盖章,以及各个 ...

  5. 青少年CTF-Web-帝国CMS1-3通关记录

    0x01说明 本次进通过平台内题目进行,非真实环境. 帝国CMS01 首先下发题目链接 我们首先先找后台看看 后台地址为/e/admin/ 随后,经过dirsearch进行扫描,得到了一个www.zi ...

  6. mysql拓展

    事务定义 就是将一组SQL语句放在同一批次内去执行 如果一个sql语句出错,则改批次内的所有sql都将被取消执行 (1)原子性 一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作, ...

  7. 性能监控平台搭建(grafana+telegraf+influxdb) 及 配置 jmeter后端监听

    搞性能测试,可以搭建Grafana+Telegraf+InfluxDB 监控平台,监控服务器资源使用率.jmeter性能测试结果等. telegraf: 是一个用 Go 编写的代理程序,可收集系统和服 ...

  8. 论文解读(SentiX)《SentiX: A Sentiment-Aware Pre-Trained Model for Cross-Domain Sentiment Analysis》

    Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ] 论文信息 论文标题:SentiX: A Sentiment-Aware Pre-Trained Model for Cross ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (77)-- 算法导论7.3 2题

    二.如果用go语言,在 RANDOMIZED-QUICKSORT 的运行过程中,在最坏情况下,随机数生成器 RANDOM 被调用了多少次?在最好情况下呢?以θ符号的形式给出你的答案? 文心一言: 在 ...

  10. 5、Mybatis之获取参数值

    5.1.创建新module 5.1.1.右击SSM文件夹,创建新module 5.1.2.选择maven 5.1.3.配置module名称和路径 5.1.4.module初始状态 5.1.5.复制打包 ...