鸽巢原理
简介
雀巢原理:如果把n+1个个物体放进n个盒子,那么至少有一个盒子包含两个或者更多个物体
加强版1:设是正整数。若将个物体放入n个盒子中,那么或者第一个盒子至少含有个物体,或者第二个盒子至少含有个物体,…或者第n个盒子至少含有个物体
加强版2:设n和r都是正整数。如果把个物体分配到n个盒子中,那么至少有一个盒子含有r个或更多的物体。
应用1
在13个人中存在两个人,他们的生日在同一个月份里。
应用2:
设有n对情侣,至少要从这2n个人中选出n+1个人才能保证能够选出一对情侣。
应用3:
给定m个整数,存在满足的整数i和j,使得 能够被m整除。通俗的说就是在序列 中存在连续的a,这些a的加和sum能够被m整除
定义 sum[i]为前i项和,考虑这m个数sum[1],sum[2],…,sum[m]如果这些前缀和当中的任意一个可被m整除,那么结论成立。假设这m个前缀和都不能被m整除,那么中的一个:因为有m个前缀和,但只有m-1个余数。所以必然存在两个前缀和;不妨假设。两者作差即,可被 m 整除,证明完毕。
应用4:
一位国际象棋大师有11周的时间备战一场总决赛,他决定每天至少下一盘棋,但为了不使自己过于疲劳,他还决定每周下棋总数不超过12盘。证明存在连续若干天,这位大师恰好下了21盘棋。
定义 sum[ i ]为前 i 天下棋的总数,因为大师每天至少下一盘棋,所以 sum[1,…,77 ]序列为严格递增序列,且1 ≤ sum[1] < sum[2] <…< sum[77] ≤ 132(11×12) ,那么 22≤sum[1]+21 < sum[2]+21 <…< sum[77]+21 ≤ 153;因为这两部分一共有 77×2=154 个数,并且全都在[1,153]范围内,所以至少有两个数相等,又因为 sum[1,…,77 ]序列为严格递增序列,所以第一部分间无相同的数,同理,第二部分间也无相同的数,因此必然存在一个 i 和一个 j 使得 sum[ j ] = sum[ i ]+21.从而这位大师在第 i,i+1,…,j 连续的 (j-i) 天下了21盘棋。
应用5:
从整数 1,2,3,…,200 中选出101个整数。证明在所选的这些整数之间存在两个整数,使得这两个整数一个可被另一个整除。
易得每个整数都可写成 2k*a 的形式(k≥0,a为奇数),这200个数中有 1,3,5,…,199 共100个奇数,那么 a 就是从这100个奇数中任取一个,因为需要取101个数,所以至少存在两个数使得这两个数的 a 相同,假设这两个数分别为 且为整数 ,那么 为整数。