鸽巢原理

 

 


定理

3.1 鸽巢原理:简单形式

  定理3.1.1  

    如果要把 n+1 个物体放进 n 个盒子,那么至少有一个盒子包含两个或更多个物体。

3.2 鸽巢原理:加强版

  定理3.2.1

    设 q1,q2,........,q是正整数。

    如果将 q1+q2+........+qn-n+1 个物体放入 n 个盒子内,那么或者或者第一个盒子至少含有 q个物体,或者第二个盒子至少

    含有 q个物体,......,或者第 n 个盒子至少含有 q个物体。

  推论3.2.2

    设 n 和 r 都是正整数。如果把 n(r-1)+1 个物体分配到 n 个盒子中,那么至少有一个盒子含有 r 个或更多的物体。


应用

定理3.1.1应用

  应用1:

    在13个人中存在两个人,他们的生日在同一个月份里。

  应用2:

    设有 n 对情侣,至少要从这 2n 个人中选出 n+1 个人才能保证能够选出一对情侣。

  应用3:

    给定 m 个整数 a1,a2,a3,.....,am ,存在满足 0≤ i < j ≤m 的整数 i 和 j ,使得 ai+1+ai+2+.....+a能够被 m 整除。

    通俗的说就是在序列 a1,a2,a3,.....,am 中存在连续的 a ,这些 a 的加和 sum 能够被 m 整除(sum%m = 0)。

    证明:

      定义 sum[ i ] 为前 i 项和,考虑这 m 个数

        sum[1],sum[2],.........,sum[m]

      如果这些前缀和当中的任意一个可被 m  整除,那么结论成立。

      假设这 m 个前缀和都不能被 m 整除,那么 sum[ i ]%m  =  (1,2,3,....,m-1)中的一个;

      因为有 m 个前缀和,但只有 m-1 个余数,所以必然存在两个前缀和 sum[ i ]%m  =  sum[ j ]%m  = r ;

      不妨假设 sum[ i ]=pm+r , sum[ j ]=qm+r , q > p

      两者做差 sum[ j ]-sum[ i ]=(q-p)m 即  ai+1+ai+2+.....+aj = (q-p)m ,可被 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 相同,假设这两个数分别为 2i*a , 2j*a , j > i 且为整数 ,那么 (2j*a) / (2i*a)=j-i为整数。

posted @ 2019-01-15 19:00  HHHyacinth  阅读(1631)  评论(0编辑  收藏  举报