有善始者实繁,能克终者盖寡。
# 基本的抽屉原理
将 k+1 个物品放入 k 个盒子,则至少有一个盒子中有一个物体。
# 推论:广义抽屉原理
将 n1+n2+⋯+nk 放入 k 个盒子,则必存在一个 i, 使得第 i 个盒子里不少于 ni 个物体。
# 例题
例 1 在一次会议中,参加会议的人中至少有两人认识的人数相等。(假设认识是相互的)
证明 假设有 n 人,则认识的朋友数有 0,1,…,n−1 共 n 种情况。又,认识 0 人与认识 n−1 人不可能同时出现,于是共 n−1 种情况。根据抽屉原理,即证。
例 2 从 1 到 2n 的正整数中任取 n+1 个,则至少存在两个数,其中一个是另一个的倍数。
证明 设 k=2t(2l−1)∈{1,2,…,2n}, 考虑对子 (l,k),k=1,2,…,2n. 则 2l−1 共 n 个不同取值。于是根据抽屉原理,必存在两对子 (l1,k1) 及 (l2,k2) 使得 k1=k2 而 l1=l2, 则 k1 与 k2 间存在倍数关系。
证明 根据反证法易证。
例题 3 最少连接缆线问题:有 15 台工作站和 10 台服务器,每个工作站可以用一条电缆直接连到某个服务器,同一时刻的每个服务器只能接受一个工作站的访问。任何时刻,任选一组工作站W1,…,Wk,k≤10,需要保证这组工作站可以连接到不同的服务器。问最少需要多少缆线?
解 缆线条数 Nmin=60. 首先构造 N=60 的情况。
将工作站 W1,W2,W3,W4,W5 与服务器 S1,S2,S3,S4,S5 对应连接,共 5 条缆线;再将工作站 W11,W12,W13,W14,W15 与服务器 S6,S7,S8,S9,S10 对应连接,共 5 条缆线;最后将 W6,W7,W8,W9,W10 与其余所有服务器两两连接,共5×10=50 条缆线。则共耗费60 条缆线。这种情况是显然符合要求的。
下面证明N=60 为最小值。采用反证法,不妨N=59。根据抽屉原理,必存在一个服务器,只连接了5 个工作站。于是考虑剩余的10 个工作站,不满足要求。
例题 4 设a1,a2,…,am 是正整数序列,则存在k 和l,1≤k≤l≤m,使得ak+…+al 是m 的倍数。
证明 考虑前项和序列Sk=∑i=1kai 若存在两项模m 同余,不妨设为Sk,Sl 且k<l,则m∣(Sl−Sk) 即m∣∑i=k+1lai。否则,必存在某项r 使得m∣Sr,则m∣∑i=1rai。
例题 5 设a1,a2,…,a100 是由1 和2 构成的序列,且从任意数开始的连续10 个数的和不超过16,即ai+ai+1+…+ai+9≤16,i=1,2,…,91。则存在h 和k,使得ah+ah+1+⋯+ak=39。
例 6 在 n2+1 个不同实数构成的序列中,一定存在长为 n+1 的严格单调子列。
证明 采用反证法,假设只存在长度不超过n 的严格单调子列。对每个实数ai,构造数对(si,ti)。其中si 为以ai 为首项的最长单调增子列的长度,ti 为以ai 为首项的最长单调减子列的长度。于是si,ti∈{1,2,…,n}。根据抽屉原理,存在i=j 使得(si,ti)=(sj,tj),此时考虑ai 与aj 的大小关系,则矛盾!
这是一个相当有趣的问题!我们可以将其推广为一个组合数学中的基本定理:Erdos-Szekeres 定理。该定理的内容如下:
对mn+1 个互不相同的实数组成的序列,其中必定存在长度为m+1 的递增子列或长度为n+1 的递减子列。
进一步地,如果我们引入偏序集的相关概念。那么我们可以将定理重新描述为:
m,n∈N+,(S,≺) 是一个偏序集,∣S∣=mn+1,那么S 中总存在长度为m+1 的链或长度为n+1 的反链。
我们可以证明一个引理,即 Dilworth 定理。
偏序集最少的链划分数等于其最长反链长度。
采用数学归纳法即可证明。
例题 7 假设认识是相互的,证明6 人中必存在3 人相互认识或者相互不认识。(Ramsey 问题)
证明 转化成K6 红蓝而染色的同色三角形存在性问题,细致讨论即可,略。