鸽巢原理
来源:互联网 发布:中国旅游统计数据库 编辑:程序博客网 时间:2024/05/06 12:05
鸽巢原理:如果鸽子数比鸽巢数多,那么一定有一个鸽巢里至少有两只鸽子
定理1:k+1或更多个物体放入k个盒子,一定至少有一个盒子有2个或更多的物体
应用1:对每个整数n,存在一个数是n的倍数,且它的十进制表示只包含0和1
证:n+1个数,1,11,111,...,111……111(n+1个1)。这些数被n整除,得到n+1个余数,由于,一个数除以n只能得到0~n-1的n个数,所以这n+1个余数必有两个相等,所以这两个数之差就是所要求的数。
应用2: 一月30天里,某球队一天至少打一场比赛,一月中最多打45场,证一定存在连续若干天,这个队恰好打了14场
证:1<= ai <= 45,ai为之前(包括当天)所有比赛数,15 <= ai + 14 <= 59, 所以 a1,a2,……,a30,a1 + 14, a2 + 14, ……,a30 + 14共 60个数都小于等于59,有两个数必然相等(ai = aj + 14),得证
定理2:N个物体放入k个盒子,则至少有一个盒子包含至少【N/k】(取上整)个物体。
证:如果都小于【N/k】,则总物体数最多k(【N/k】-1)<k( (N/k + 1 )- 1) = N,(【N/k】< N/k + 1)矛盾
应用:标准的52张牌必须选出多少张才能保证选出的牌中至少有3张是同样花色?
解: [N/4] >= 3 且 [N/4] < N / 4 + 1 故 N / 4 + 1 > 3 , N = 9.
[N/k] >= r ————》 N = k(r - 1) + 1
定理3:n^2 + 1 个不同实数,必包含一个长度为n + 1的递增序列,或递减序列
证:(ik, dk)表示ak开始的最长的递增序列长度为ik,最长递减长度为dk。设题设不成立,则,ik<=n, dk <= n
所以(ik,dk)最多有n^2个有序对,n^2 + 1个数对应的有序对中必有两个是相等的,即(is,dk)与(it,dt)相等,这是不可能的,因为as < at,则可以形成n+1的递增序列;as>at,则可以形成n+1的递减序列。得证
应用:6个人中,两两彼此朋友或敌人,则至少3个人彼此朋友,或3个人彼此敌人
证:对于A,剩下5个人或朋友或敌人,根据定理2,至少3个人是A的朋友,或至少3个人是A的敌人
第一种情况,设BCD是其朋友,如果BCD任两个互相朋友,则与A构成3人朋友组,否则BCD构成3人敌人组
第二种情况类似,得证
拉姆齐数:R(m,n)(m,n >= 2),任两人或朋友或敌人,则满足至少m个人彼此朋友,或n个人彼此敌人的最小总人数是多少。
R(3,3 )= 6,R(2,n)=n,R(4,4)=18,43<=R(5,5)<=49,很多情况无法精确
- 浅谈容斥原理鸽巢原理(抽屉原理
- 鸽巢原理(抽屉原理)
- 归纳原理和鸽巢原理
- 鸽巢原理 应用
- 鸽巢原理小结
- 鸽巢原理
- 鸽巢原理
- poj2356(鸽巢原理)
- 鸽巢原理
- poj2356_3370_鸽巢原理
- 鸽巢原理
- 鸽巢原理
- 鸽巢原理
- 鸽巢原理
- hdu1205-鸽巢原理
- 鸽巢原理一
- 鸽巢原理二
- 鸽巢原理
- android下usb框架系列文章---(7)android-kernel gadget框架.doc
- HBase学习笔记(一)
- android 模拟屏幕点击
- 不同操作系统获取文件路径分隔符
- 职业上:冲动+坚持==》收获
- 鸽巢原理
- storm配置:设置worker进程内存大小
- [Android]高低API版本兼容之@TargetApi
- mvc +ef database first
- android下usb框架系列文章---(5)Usb setting 中tethering 设置流程
- cronExpression表达式解释
- Perl语言入门(第五版) 读书笔记(十)---进程管理
- Codeforces Round #220 (Div. 2)
- 线程的创建使用