zoukankan      html  css  js  c++  java
  • 2017.3.29组合数学学习——鸽巢原理

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

    应用1:13个人中存在2个人,他们的生日在同一月份里

    不懂。。。。。。

    应用2:给定m个整数,a1,a2,a3……am,存在满足0<=k<l<=m的整数k和l,
    使得ak+1+ak+2+……+al能被m整除。
    也就是说在序列a1,a2,a3……am中,存在连续的a,这些a的和能被m整除
    证明:
    令s1=a1,s2=a1+a2,s3=a1+a2+a3,……sm=a1+a2+a3+……+am
    若s中有一个si能被m整除,则结论成立
    假设所有的si都不能被m整除,那么si除以m的余数有1,2,……m-1 ,共m-1种,
    一共有m个si,m-1种余数,由鸽巢原理得,必有两个si余数相同
    设他们为sk,sl,余数为r,则
    sk=a1+a2+……ak=pm+r,sl=a1+a2+……al=qm+r
    sl-sk=(ak+1)+(ak+2)+……+al=(q-p)m
    证毕

    例1:一位国际象棋大师有11周的时间备战一场锦标赛,他决定每天至少下一盘棋,但每周不能下超过12盘棋。证明存在若干天,期间这位大师恰好下了21盘棋
    证明:
    设ai为前i天下的盘数,那么ai是严格递增的
    ∵a1>=1,11周最多下11*12=132盘
    ∴1 <= a1 < a2 < a3 …… < a77 <= 132
    ∴1+21=22 <= a1+21 < a2+21 < a3+21 …… < a77+21 <= 132+21=153
    所以154个数 a1,a2……am,a1+21,a2+21……am+21 都是1到153之间的整数
    所以必有两个数相等
    因为ai中不存在相等的数,ai+21中不存在相等的数
    ∴必有ai=aj+21
    所以第j+1到第i天共下了21盘棋

    例2:在整数1,2,……200中选101个数。
    证明在所选的整数之间存在2个这样的整数,其中一个可被另一个整除
    证明:
    任意一个整数可以写成2^k*a的形式,k>=0,a是奇数
    所以对于1到200之间的整数,a有100个选择(1,3,5……199)
    所以在选的101个数里,必有两个数的a相同
    令这两个数为2^p*a,2^q*a
    这就很显然了
    同时,也能证明,一定可以选100个数,使得其中没有一个能被另一个整除

    应用3:中国剩余定理
    设m和n是互素的正整数,并设a和b为整数,其中0 <= a < m,0 <= b < m.
    于是,存在正整数x,使得x除以m的余数为a,并且除以n的余数为b

  • 相关阅读:
    (转).NET Compact Framework使用P/Invoke服务
    C#编码好习惯
    有些东西必须时刻放在心上!
    我是这样的人吗?是!!!!!!!!!
    经济学家张五常教大家四招读书的方法 (转)
    #在宏中的某些用法(转)
    牛人太强了,我该怎么努力呀?
    利用增强限制条件来求解问题
    努力呀!即将面临的deadline
    volume visualization reserach时刻记在心的要点
  • 原文地址:https://www.cnblogs.com/TheRoadToTheGold/p/6639450.html
Copyright © 2011-2022 走看看