1 鸽巢原理(简单形式)
定理:如果要把
n
+
1
n+1
n+1个物体放进
n
n
n个盒子,那么至少有一个盒子包含两个或更多的物体。
对于鸽巢原理的简单形式,详细可以参考这里。
2 鸽巢原理(加强版)
上述定理是下面定理的特殊情况。
定理:设
q
1
,
q
2
,
⋯
q
n
q_1,q_2,\cdots q_n
q1,q2,⋯qn是正整数。如果将
q
1
+
q
2
+
⋯
+
q
n
−
n
+
1
q_1 + q_2 + \cdots+q_n -n+1
q1+q2+⋯+qn−n+1
个物体放入
n
n
n个盒子内,那么或者第一个盒子至少含有
q
1
q_1
q1个物体,或者第二个盒子至少含有
q
2
q_2
q2个物体,
⋯
\cdots
⋯,或者第
n
n
n个盒子至少含有
q
n
q_n
qn个物体。
证明:
假设我们把
q
1
+
q
2
+
⋯
+
q
n
−
n
+
1
q_1+q_2+\cdots+q_n - n + 1
q1+q2+⋯+qn−n+1个物体分放到
n
n
n个盒子中。如果对于每个
i
=
1
,
2
,
⋯
,
n
i=1,2,\cdots,n
i=1,2,⋯,n,第
i
i
i个盒子含有少于
q
i
q_i
qi个物体,那么所有盒子中的物体总数不超过:
(
q
1
−
1
)
+
(
q
2
−
1
)
+
⋯
+
(
q
n
−
1
)
=
q
1
+
q
2
+
⋯
+
q
n
−
n
(q_1-1) +(q_2-1)+\cdots + (q_n -1)= q_1 + q_2 + \cdots + q_n -n
(q1−1)+(q2−1)+⋯+(qn−1)=q1+q2+⋯+qn−n
由于这个数比分配的物体总数少
1
1
1,矛盾,因此我们得出结论对于某一个
i
=
1
,
2
,
⋯
,
n
i=1,2,\cdots,n
i=1,2,⋯,n,第
i
i
i个盒子至少包含
q
i
q_i
qi个物体。
鸽巢原理的简单形式可以通过取 q 1 = q 2 = ⋯ = q n = 2 q_1=q_2=\cdots = q_n=2 q1=q2=⋯=qn=2而由加强版得到。此时有:
q 1 + q 2 + ⋯ + q n − n + 1 = 2 n − n + 1 = n + 1 q_1 + q_2 + \cdots+q_n -n+1=2n-n+1=n+1 q1+q2+⋯+qn−n+1=2n−n+1=n+1
鸽巢原理的加强版用着色的术语表述就是:如果 q 1 + q 2 + ⋯ + q n − n + 1 q_1 + q_2 + \cdots+q_n -n+1 q1+q2+⋯+qn−n+1个物体中的每一个物体被指定用 n n n种颜色中的一种着色,那么存在某个 i i i使得第 i i i种颜色的物体(至少)有 q i q_i qi个。
推论:设 n n n和 r r r都是正整数。如果把 n ( r − 1 ) + 1 n(r-1)+1 n(r−1)+1个物体分配到 n n n个盒子中,那么至少有一个盒子含有 r r r个或更多的物体。
这个推论还可以用平均原理解释,即 n ( r − 1 ) + 1 n = ( r − 1 ) + 1 n \cfrac{n(r-1)+1}{n}=(r-1)+\cfrac{1}{n} nn(r−1)+1=(r−1)+n1,那么这些盒子中有一个盒子至少含有 r r r个物体。
平均原理
- 如果 n n n个非负整数 m 1 , m 2 , ⋯ , m n m_1,m_2,\cdots,m_n m1,m2,⋯,mn的平均数大于 r − 1 r-1 r−1,即: m 1 + m 2 + ⋯ + m n n > r − 1 \cfrac{m_1+m_2+\cdots +m_n}{n}\gt r-1 nm1+m2+⋯+mn>r−1,那么至少有一个整数大于或等于 r r r
- 如果 n n n个非负整数 m 1 , m 2 , ⋯ , m n m_1,m_2,\cdots,m_n m1,m2,⋯,mn的平均数小于 r + 1 r+1 r+1,即: m 1 + m 2 + ⋯ + m n n < r + 1 \cfrac{m_1+m_2+\cdots +m_n}{n}\lt r+1 nm1+m2+⋯+mn<r+1,那么至少有一个整数小于 r + 1 r+1 r+1
- 如果 n n n个非负整数 m 1 , m 2 , ⋯ , m n m_1,m_2,\cdots,m_n m1,m2,⋯,mn的平均数至少等于 r r r,那么这 n n n个整数 m 1 , m 2 , ⋯ , m n m_1,m_2,\cdots,m_n m1,m2,⋯,mn至少有一个满足 m i ≥ r m_i\ge r mi≥r
应用1
一个果篮装有苹果、香蕉和橘子。为了保证篮子中或者至少有 8 8 8个苹果,或者至少有 6 6 6个香蕉,或者至少有 9 9 9个橘子,则放入篮子中的水果的最小件数是多少?
根据鸽巢原理加强版可知,无论如何选择, 8 + 6 + 9 − 3 + 1 = 21 8+6+9-3+1=21 8+6+9−3+1=21个水果将保证篮子内的水果满足所要求的性质。
应用2
有两个碟子,其中一个比另一个小,它们都被分成 200 200 200个均等的扇形。在大碟子中,任选 100 100 100个扇形并着成红色;而且与的 100 100 100个扇形被着成蓝色。在小碟子中,每一个扇形或者着成红色,或者着成蓝色,所着红色扇形和蓝色扇形的数目没有限制。然后,将小碟子放到大碟子上面使两个碟子的中心重合。证明:能够将两个碟子的扇形对齐使得小碟子和大碟子上相同颜色重合的扇形数目至少是 100 100 100个。
证明:
将大碟子固定时,那么就存在
200
200
200个可能的位置使得小碟子的每一个扇形含于大碟子的扇形中。首先数一下两个碟子重合的
200
200
200个扇形中颜色一致的扇形的总数。因为大碟子每种颜色的扇形都有
100
100
100个,因此在
200
200
200个可能位置中,小碟子上的每一个扇形都恰好在
100
100
100个位置上与大碟子上的对应扇形颜色一致,于是,在所有的位置上,颜色重合的总数等于小碟子上的扇形数乘以
100
100
100,其结果为
20000
20000
20000。因此每一个位置上的平均颜色重合数是
20000
/
200
=
100
20000/200=100
20000/200=100。从而必然存在某个位置其颜色匹配数至少为
100
100
100。
应用3
证明每个由 n 2 + 1 n^2 + 1 n2+1个实数构成的序列 a 1 , a 2 , ⋯ a n 2 + 1 a_1,a_2,\cdots a_{n^2 + 1} a1,a2,⋯an2+1或者含有长度为 n + 1 n+1 n+1的递增子序列,或者含有长度为 n + 1 n+1 n+1的递减子序列。(注意是子序列不要求连续)
证明:
假设不存在长度为
n
+
1
n+1
n+1的递增子序列,那么就证明必然存在长度为
n
+
1
n+1
n+1的递减子序列。对于每一个
k
=
1
,
2
,
⋯
,
n
2
+
1
k=1,2,\cdots,n^2+1
k=1,2,⋯,n2+1,设
m
k
m_k
mk为以
a
k
a_k
ak开始的最长递增子序列的长度。假设对于每一个
k
=
1
,
2
,
⋯
,
n
2
+
1
k=1,2,\cdots,n^2+1
k=1,2,⋯,n2+1,有
m
k
≤
n
m_k \le n
mk≤n,使得不存在长度为
n
+
1
n+1
n+1的递增子序列。因为对于每一个
k
k
k,都有
m
k
≥
1
m_k \ge 1
mk≥1成立,所以
m
1
,
m
2
,
⋯
,
m
n
2
+
1
m_1,m_2,\cdots,m_{n^2+1}
m1,m2,⋯,mn2+1是
[
1
,
n
]
[1,n]
[1,n]之间的
n
2
+
1
n^2 + 1
n2+1个整数。根据鸽巢原理,
m
1
,
m
2
,
⋯
,
m
n
2
+
1
m_1,m_2,\cdots,m_{n^2+1}
m1,m2,⋯,mn2+1中有
n
+
1
n+1
n+1个是相等的。令:
m
k
1
=
m
k
2
=
⋯
=
m
k
n
+
1
m_{k_1} = m_{k_2} =\cdots =m_{k_{n+1}}
mk1=mk2=⋯=mkn+1
其中
1
≤
k
1
<
k
2
<
⋯
<
k
n
+
1
≤
n
2
+
1
1\le k_1\lt k_2\lt \cdots \lt k_{n+1}\le n^2 + 1
1≤k1<k2<⋯<kn+1≤n2+1。假设对于某个
i
=
1
,
2
,
⋯
,
n
i=1,2,\cdots, n
i=1,2,⋯,n有
a
k
i
<
a
k
i
+
1
a_{k_i} \lt a_{k_{i+1}}
aki<aki+1。那么,由于
k
i
<
k
i
+
1
k_i\lt k_{i+1}
ki<ki+1,我们可以通过将
a
k
i
a_{k_i}
aki和
a
k
i
+
1
a_{k_{i+1}}
aki+1为起点的连续递增子序列合并成一个以
a
k
i
a_{k_i}
aki为起点的更长的递增子序列,这意味着
m
i
>
m
i
+
1
m_i\gt m_{i+1}
mi>mi+1。所以我们得到结论
a
k
i
≥
a
k
i
+
1
a_{k_i} \ge a_{k_{i+1}}
aki≥aki+1,因此:
a
k
1
≥
a
k
2
≥
⋯
≥
a
k
n
+
1
a_{k_1}\ge a_{k_2}\ge \cdots \ge a_{k_{n+1}}
ak1≥ak2≥⋯≥akn+1
这是个长度为
n
+
1
n+1
n+1的递减子序列。
3 参考资料
- 《组合数学》第五版 P44-P46