第3章 鸽巢原理

3.1 鸽巢原理的简单形式

又名“迪利克雷原理” 大一数分第一课证明有理数可数时用的就是这个原理,老朋友了

定理: 把n+1个物体放入n个盒子,至少有一个盒子包含两个或更多个物体

鸽巢原理在数论中的应用

【例】:从{ 1 , 2 , 3 , . . . , 2 n 1,2,3,...,2n 1,2,3,...,2n}中选择n+1个整数,证明一定存在两个整数,它们之间差为1

证:将{ 1 , 2 , 3 , . . . , 2 n 1,2,3,...,2n 1,2,3,...,2n}划分成n个子集, S i = 2 i − 1 , 2 i S_i = {2i-1, 2i} Si=2i1,2i

由鸽巢原理知,从中取n个数,一定会有一个子集中的整数被同时取出,这两个整数之间差为1

【例】:有n+1个正整数,且这些正整数是小于等于2n,是否会有一对数是互素的?

证1(同上):将1,2,…,2n划分为n个子集, S i = 2 i − 1 , 2 i S_i = {2i-1, 2i} Si=2i1,2i

由鸽巢原理知,从中取n个数,一定会有一个子集中的整数被同时取出,且这两个数字互素。

证2:有 1 ≤ a 1 < a 2 . . . < a n + 1 ≤ 2 n 1\le a_1 \lt a_2 ... \lt a_{n+1} \le 2n 1a1<a2...<an+12n,构造 1 < b 1 < b 2 . . . < b n + 1 ≤ 2 n + 1 1 < b_1 < b_2 ... < b_{n+1} \le 2n+1 1<b1<b2...<bn+12n+1

现有2n+2个数,这些数在1-2n+1之间,由鸽巢原理,这2n+2个数中至少有两个相等。又 a i a_i ai不相等,因此存在一对 b j = a j + 1 b_j = a_j + 1 bj=aj+1 a k a_k ak相等。

【例】:在m个正整数 a 1 , a 2 , . . . . , a m a_1, a_2, ...., a_m a1,a2,....,am中,存在 0 ≤ k < l ≤ m 0\le k \lt l \le m 0k<lm,使得 a k + 1 + a k + 2 + . . . + a l a_{k+1} + a_{k+2} + ... + a_{l} ak+1+ak+2+...+al能够被m整除

证:构造m个子集 S i = ∑ n = 1 k a i , 1 ≤ i ≤ m S_i = \sum_{n=1}^{k} a_i, 1\le i \le m Si=n=1kai,1im

若存在 S i S_i Si能被m整除,则有 a 1 + a 2 + . . . + a i a_1 + a_2 + ... + a_i a1+a2+...+ai能被m整除

若不存在$ S_i$ 能被m整除,则m个 S i S_i Si 除m的余数一定在1-m-1即m-1中余数。由鸽巢原理,必然存在 i , j i,j i,j i ≠ j i \ne j i=j,使得 S i % m = S j % m S_i \% m = S_j \% m Si%m=Sj%m.因此 ( S j − S i ) % m = 0 (S_j-S_i) \% m = 0 (SjSi)%m=0,有 a i + 1 + . . . + a j a_{i+1} + ... + a_{j} ai+1+...+aj能够被m整除

【例】:从整数1,2,…,200中选取101个整数,证明所选的数中存在两个整数,使得其中一个是另一个的因子

证:对于1到200间的整数n,可以写作 n = 2 k × a n = 2^k × a n=2k×a(1),其中a是1,2,…,200内的奇数。由于要选101个整数,而200内只有100个奇数,由鸽巢原理知,比存在两个整数 n 1 n_1 n1 n 2 n_2 n2写作(1)式后两个奇数相等。

【例】:在n+2个任选的正整数中,存在两个数,或者其差能被2n整除,或者其和能被2n整除

证:构造n+1个被2n除余数的子集 S i = 2 n − i , i S_i = 2n-i, i Si=2ni,i 0 ≤ i ≤ n 0\le i \le n 0in,取自同一个子集的两个数,必然满足和或者差可以被2n整除。由鸽巢原理知,n+2个数一定存在两个数字来自相同的 S i S_i Si

【例】:一间屋子10个人,当中没有人超过60岁。但又至少不低于1岁。证明总能找到两组人(两组人中不含有相同的人),使得年龄和相同。题中的10能否换成更小的数?

1-60*9=540 , 2 10 2^{10} 210

鸽巢原理在几何图形类问题中的应用

【本】:在边长为1的等边三角形内任选5个点,证明一定存在两个点,其距离至多是 1 2 \frac{1}{2} 21

证:将等边三角形依每边中点分成四部分,落在任意一个部分中的两点之间的距离至多是 1 2 \frac{1}{2} 21.根据鸽巢原理,任意选择5个点,肯定有两个点落在同一部分。

【扩】:确定一个整数 n k n_k nk,使得如果在边长为1的等边三角形中任意选择 n k n_k nk个点,一定存在2个点,其距离至多是 1 k \frac{1}{k} k1

【例】:在直径为5的圆内任意给定10个点,证明存在亮点,它们之间的距离小于2

【本】:将矩形分成4行19列的网络,每个单元格涂一种颜色,有3中颜色可以选择。证明无论如何涂色,其中必有一个单元格构成的矩形4角上的格子被涂成一种颜色。

( 4 2 ) 3 = 18 \tbinom{4}{2} 3 = 18 (24)3=18

【扩】:把3行9列棋盘每个方格涂成红色或蓝色,证明必有两列方格的涂色方式是一样的

2 3 2^3 23 种涂色方式,由鸽巢原理必然有两个是一样的

鸽巢原理——连续时间问题

【例】:某场在5年期间每一个月里至少试制一种新产品,每年最多试制19种新产品。证:一定存在连续几个月,恰好试制24种新产品

思路: b i = a i + 24 b_i = a_i + 24 bi=ai+24共120个数,这些数的取值在 1 − 19 ∗ 5 = 119 1-19*5=119 1195=119,必然有两个一样,又每个月至少试制一种,因此 a i a_i ai严格递增。

证:设五年间每个月新产品数分别为 a 1 , a 2 , . . . , a 60 a_1, a_2, ..., a_{60} a1,a2,...,a60构造出数列 a n a_n an的前n项和的数列 s 1 , s 2 , . . . , s 60 s_1, s_2, ..., s_{60} s1,s2,...,s60

序列 s 1 + 24 , s 2 + 24 , . . . , s 60 + 24 s_1 + 24, s_2 + 24, ..., s_{60} + 24 s1+24,s2+24,...,s60+24 也是严格递增序列。这120个数都在区间 [ 1 , 119 ] [1, 119] [1,119]中,根据鸽巢原理,必存在两数相等。

由于 s 1 , s 2 , . . . , s 60 s_1, s_2, ..., s_{60} s1,s2,...,s60 s 1 + 24 , s 2 + 24 , . . . , s 60 + 24 s_1 + 24, s_2 + 24, ..., s_{60} + 24 s1+24,s2+24,...,s60+24 均为严格单调,因此必然存在i和j,使得 s i = s j + 24 s_i = s_j + 24 si=sj+24.因此该厂从第 j + 1 j+1 j+1月到 i i i月这几个月刚好试制了24种新产品。

鸽巢原理——计算机网络

【例】:假设由6台计算机组成的网络,证明这样的网络中至少存在两台计算机直接连接数量相同的其他计算机
证:(1)如果存在1台计算机连接台数为0,

​ (a)余下5台计算机中有一台连接台数为0,那么存在两台计算机连接相同数量的其他计算机;

​ (b)若余下5台计算机不存在连接台数为0,那么可能连接的台数为 [ 1 , 4 ] [1,4] [1,4],相当于4分抽屉,根据鸽巢原理,至少有两台计算机直接连接数量相同的其他计算机

(2)如果不存在计算机连接台数为0,那么每台计算机可能的连接台数为 [ 1 , 5 ] [1,5] [1,5]。根据鸽巢原理,至少有两台…

中国剩余定理

令m,n为互素的正整数,a和b分别是小于m和n的非负整数。那么,存在正整数x,使得x除以m余数为a,且除以n余数为b,即 x = p m + a , x = q n + b x=pm+a, x=qn+b x=pm+ax=qn+b

思路:构造足够多“除以m余数为a”的整数,证明这n个数除以b的余数都不相同,那么b肯定出现在这n个数当中

证:考虑n个除以m余数为a的整数: a , a + m , . . . , a + ( n − 1 ) m a, a+m, ..., a+(n-1)m a,a+m,...,a+(n1)m

假设存在两个数 i m + a im+a im+a j m + a jm+a jm+a ( 0 ≤ i ≤ j ≤ n − 1 ) (0\le i \le j \le n-1) (0ijn1)处于n的余数都是r,即存在非负整数k和l使得 i m + a = k n + r , j m + a = l n + r im+a = kn+r, jm+a = ln+r im+a=kn+r,jm+a=ln+r

上式相减得到 ( i − j ) m = ( k − l ) n (i-j)m = (k-l)n (ij)m=(kl)n,由于 m n mn mn互素,因此n是 j − i j-i ji的因子。这与 j − i < n j-i\lt n ji<n矛盾。

故上述n个整数除以n的余数各不相同。

由鸽巢原理,n个数都出现在这些余数集中,因此b也出现。设对应除以n余数为b的数为 x = p m + a ( 0 ≤ p ≤ n − 1 ) x=pm+a(0\le p \le n-1) x=pm+a(0pn1),同时 x = q n + b ( 0 ≤ q ≤ n − 1 ) x = qn+b(0\le q \le n-1) x=qn+b(0qn1)结论成立。

【应用】:证明正整数n,必存在0和3组成的正整数能被n整除

证:构造3, 33, …, 3…3(n个3).

如果其中有可以被n整除,满足要求

如果没有可以被n整除的,则上述n个数除n的余数在 [ 1 , n − 1 ] [1, n-1] [1,n1],由鸽巢原理,一定存在除n余数相等的数。将两数做差,得到的结果满足要求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值