鸽巢原理(初识)(纯算法)

http://www.docin.com/p-1352185354.html

一.什么是

鸽巢原理(抽屉原理)若把n个物体放在n - 1个抽屉中,至少有一个抽屉中放了两个物体。

二.  特点

只能用于解决存在性问题

三.例题

例一: 在边长为1的三角形放5个点,至少有两个点之间的距离<=1/2

解析:将一个三角形分为4个三角形,在四个三角形中放5个点,则至少有两个点在同一个三角形中,这两个点之间的距离最长为1/2,得证

例二:某次会议n位代表参加,至少有两个人认识的人数相等。注意认识是相互的

解析:首先讨论每个人都至少认识一个人的情况,这种情况下,认识的人数为1到n-1.参加会议的人数n得证

假设有人一个人都不认识,这时剩下的人中认识的人的个数只能是1-n-2,人数为n-1.依次类推,知道将所有一个人都不认识的alone people消掉,就优惠产生鸽巢原理的情况

例三:从1到2n中,选n + 1个数,至少有一对数,其中一个数是另一个数的倍数

解析:将选中的n+1个数中所有的2都除掉,即除以2^k,由于1-2n中只有n个奇数,一定有一对数的奇数形式相等的。这两个数分别是2^m*equal,2^n*equal,因此一定一个数是另一个数的倍数

例四:从1-2n中,选n+1个数,至少有一对数是互素的

解析:首先明确一点,相邻的两个整数一定是互素的,证明如下:

假设这两个整数为n,n+1.假设他们不是互素的,有公共因子q

n = p1 * 1,n + 1 = p2 * q

n+1 - n = q(p2 - p1)

q(p2-p1) = 1

其中p2,p1均为整数,q >=2,可证不等

可将这2n个数分为n分每分为(1,2)(3,4)……(2n-1,2n),从n分中选n+1个数,则至少有两个数来自同一份,至少有两个数是互素的





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值