引言

网络上有许多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. Vue-CoreVideoPlayer 视频播放器组件

    安装 cnpm install -S vue-core-video-player 快速使用 # 在main.js中 import VueCoreVideoPlayer from 'vue-core-v ...

  2. 关于 axios 是什么?以及怎么用?

    〇.前言 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中.简单的讲就是可以发送 Get.Post 请求. 诸如 Vue.React.Angular 等前 ...

  3. java学习中的一些总结

    最近java要考试了,在复习的时候就发现什么成员变量,成员函数,静态,非静态,里面的一些东西都乱七八糟的(其实是我太菜了,没有理解透彻) 我查了很多相关的资料,网上很多大佬总结的非常好 知识点一 成员 ...

  4. SaaS软件工程师成长路径

    背景 SaaS软件工程师的成长需要循序渐进,和SaaS业务一样有耐心.SaaS工程师需要在"业务"."技术"."管理"三个维度做好知识储备. ...

  5. Spring-配置文件(引入其他配置文件,分模块开发)

    引入其他配置文件 实际开发,Spring的配置文件内容非常多,这就导致了Spring配置很复杂且体积很大,所以可以将配置拆解到其他配置文件中,而在Spring主配置文件通过import标签进行加载 & ...

  6. CoaXPress 2.0 FPGA HOST IP Core Linux Demo

    目录 Hello-FPGA CoaXPress 2.0 Host FPGA IP Core Linux Demo 4 1 说明 4 2 设备连接 7 3 VIVADO FPGA工程 7 4 调试说明 ...

  7. Docker版SS安装

    灰常简单 首先安装docker 使用官方安装脚本自动安装 64位的centos7和8安装命令如下: curl -fsSL https://get.docker.com | bash -s docker ...

  8. 结果过滤器—MVC项目中结果过滤器(Result Filter)使用

    一.什么是结果过滤器? 结果过滤器(ResultFilter),是对执行的Action结果进行处理的一种AOP思想,适用于任何需要直接环绕 View 或格式化处理的逻辑.结果过滤器可以替换或更改 Ac ...

  9. Java日志系列:Log4j使用和原理分析

    目录 一.简介 二.使用 三.日志级别 四.组件说明 Loggers Appenders Layouts 五.配置 加载初始化配置 配置文件加载 查看日志记录器的详细信息 六.Layout的格式 七. ...

  10. 如何让WPF中的ValidationRule实现参数绑定

    背景 应用开发过程中,常常会对用户输入内容进行验证,通常是基于类型.范围.格式或者特定的要求进行验证,以确保输入符合预期.例如邮箱输入框校验输入内容是否符合邮箱格式.在WPF中,数据模型允许将Vali ...