《Mathematical Olympiad——组合数学》——抽屉原理
抽屉原理可以说是组合数学中最简单易懂的一个原理了,其最简单最原始的一个表达形式:对于n本书放到n-1个抽屉中,保证每个抽屉都要有书,则必存在一个抽屉中有2本书。但是这个简单的原理在很多问题中都能够巧妙的应用到,融合将问题一步步抽象转化来接近抽屉原理的原始模型,是用好抽屉原理的关键。
问题一:两个半径相等的圆盘上各有一个内接正2n边形,每个正2n边形的顶点有一半染上黄色,一般染上蓝色,将这一个圆盘放在另一个圆盘上并使得两个正2n边形的顶点均重合,这样得到2n对顶点,如果一对顶点中两个重合的顶点颜色相同,则称其为“匹配点对”。证明:存在一种放置方式,使得至少有n对匹配点对。
证明:我们首先从任意一种重合方式开始,用a1表示当前方式含有的匹配点对的个数,然后我们将其中一个圆盘旋转2n - 1次,每次旋转的角度π/n,这样我们便得到了多有的放置方法——{a1,a2,a3……a(2n)}。考察所有情况匹配点对的总和,利用简单的计数原理,我们得到等式:a1 + a2 + a3+……+a(2n) = 2n*n,由此再利用抽屉原理,得证。
问题二:正整数1~200分成50个集合。证明:可以从其中某一个集合中找出三个数,它们形成三角形的三边之长。
证明:我们考虑100~200这101个数字,分到50个集合当中,必然存在3个数字分到某个集合当中,考察分布在[100,200]的整数,任取三个数都是满足三角形三边定理的,得证。
问题三:一次射箭比赛共有30名选手参加。将靶子分为两个区域,规定:射中区域一得10分,射中区域二得5分,未射中靶子不得分,每名选手射16箭。比赛结束后,统计显示射中区域二的箭超过50%,射中区域一和未射中靶子的箭数相同。证明:有两名选手得分相同。
证明:我们设第i个人射中区域一、区域二、未射中的箭数分别是ai、bi、ci.则首先有∑ai = ∑ci < 16*30 /4 = 120.
第i个选手的得分可以这样表示:10ai + 5bi = 5ai + 5(ai + bi) = 5ai + 5(16 - ci) = 80 + 5(ai - ci)。
现在考虑反证法,假设30个选手的分数各不相同,则ai - ci有30个各不相同的取值。考虑到ai - ci∈[-16 , 16],由抽屉原理得,存在满足ai-ci>0或ai - ci < 0的组数大于等于15的情况,我们以ai - ci > 0为例,我们将ai - ci按照严格递增的顺序排列,则有ai - ci >=i , 所以ai >= i.
因此,对于满足ai - ci > 0的ai,有不等式∑ai >= 1 + 2 + 3+……+15 = 120成立,这与已知事实矛盾,因此假设不成立。
证毕。
证明:
《Mathematical Olympiad——组合数学》——抽屉原理的更多相关文章
- 《Mathematical Olympiad——组合数学》——染色问题
恢复 继续关于<Mathematical Olympiad——组合数学>中问题的分析,这一篇文章将介绍有关染色的问题. 问题一: 将一些石头放入10行14列的矩形方格表内,允许在每个单元 ...
- 2021.12.06 P1450 [HAOI2008]硬币购物(组合数学+抽屉原理+DP)
2021.12.06 P1450 [HAOI2008]硬币购物(组合数学+抽屉原理+DP) https://www.luogu.com.cn/problem/P1450 题意: 共有 44 种硬币.面 ...
- 《Mathematical Olympiad——组合数学》——操作和游戏
这篇文章,我们开始对奥数中有关操作和游戏的问题进行分析和讨论,其实在信息学竞赛中涉及到的一些博弈问题(分析必胜策略)的问题(例如巴什博弈.尼姆博弈),本质上来讲,就是组合数学当中的组合游戏,并不是真正 ...
- CodeForces485A——Factory(抽屉原理)
Factory One industrial factory is reforming working plan. The director suggested to set a mythical d ...
- uva202:循环小数(循环节+抽屉原理)
题意: 给出两个数n,m,0<=n,m<=3000,输出n/m的循环小数表示以及循环节长度. 思路: 设立一个r[]数组记录循环小数,u[]记录每次的count,用于标记,小数计算可用 r ...
- hdu 3303 Harmony Forever (线段树 + 抽屉原理)
http://acm.hdu.edu.cn/showproblem.php?pid=3303 Harmony Forever Time Limit: 20000/10000 MS (Java/Othe ...
- poj2356 Find a multiple(抽屉原理|鸽巢原理)
/* 引用过来的 题意: 给出N个数,问其中是否存在M个数使其满足M个数的和是N的倍数,如果有多组解, 随意输出一组即可.若不存在,输出 0. 题解: 首先必须声明的一点是本题是一定是有解的.原理根据 ...
- POJ- Find a multiple -(抽屉原理)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6452 Accepted: 2809 Special Judge D ...
- 51nod 1103 N的倍数(抽屉原理)
1103 N的倍数 题目来源: Ural 1302 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍 ...
随机推荐
- (ternary operator)三元运算符.
ternary operator: advantage: make a terse simple conditional assignment statement of if-then-else. d ...
- jQuery 效果- 动画
jQuery animate() 方法允许您创建自定义的动画. jQuery 动画实例 jQuery jQuery 动画 - animate() 方法 jQuery animate() 方法用于创建自 ...
- 图的遍历(bfs 和dfs)
BFS的思想: 从一个图的某一个顶点V0出发,首先访问和V0相邻的且未被访问过的顶点V1.V2.……Vn,然后依次访问与V1.V2……Vn相邻且未被访问的顶点.如此继续,找到所要找的顶点或者遍历完整个 ...
- 让一个Html元素撑满整个屏幕可以这样玩
style="width:100%; height: 100%; overflow:hidden; position:absolute; top: 0; left: 0; z-index: ...
- asp.net 网站和asp.net Web 应用程序的一处不同
环境为:VS2008Team+.net3.5 asp.net 网站前台页面<%= %>这样绑定可以,asp.net Web 应用程序就不可以 示例代码如下: 1.asp.net网站 < ...
- 运用BeanUtils构建通用的查询 更新方法(个人拙作,不喜勿喷)
------------------------------------更新方法----------------------------------- public void update(Strin ...
- 每个Linux新手都应该记住的10个基本Linux命令
Linux对我们的生活有着很大的影响.至少,你的安卓手机上面就有Linux内核.然而,头一次入手Linux只会让你觉得不适.因为在Linux上,你通常应该使用终端命令,而不是只要点击启动器图像(就像你 ...
- WdatePicker.js 日期时间插件
支持功能: 1.支持常规在input单击或获得焦点时调用,还支持使用其他的元素如:<img><div>等触发WdatePicker函数来调用弹出日期框 @1.input 调用: ...
- CentOS 6.4编译安装淘宝web服务器Tengine
Tengine 是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商城 ...
- 关于wtl的一个实验
代码如下: #include <iostream> using namespace std; template<typename T> class Base { public: ...