一些比较特殊的计数序列
主要来源于教材《组合数学及其应用》
鸽笼原理
定理5.1
如果把\(n+1\)个物体加入到 \(n\) 个盒子中,则至少有一个盒子放有两个或者更多的物体。
定理5.2
设 \(q_i\) 是正整数\((i=1,2,···,n)\),\(q \geq q_1 + q_2 + ··· + q_n - n + 1\),如果把 \(q\) 个物体放入 \(n\) 个盒子中,则必存在一个 \(i\) ,使得第 \(i\) 个盒子至少有 \(q_i\) 个物体。
-
推论1: 如果把\(n(r-1)+1\)个物体放入 \(n\) 个盒子中,则至少存在一个盒子放有不少于 \(r\) 个物体。
-
推论2:对于正整数\(m_i(i=1,2,···,n)\),如果
\[\frac{\sum_{i=1}^nm_i}{n} > r-1 \]则至少存在一个 \(i\),使得 \(m_i \geq r\)。
\(Ramsey\)数
定义5.1
设 \(a\),\(b\) 为正整数,令 \(R(a,b)\) 是保证有 \(a\) 个人彼此相识或者有 \(b\) 个人彼此不相识所需要的最少人数,则称 \(R(a,b)\)为\(Ramsey\)数。
定理5.8
当 \(a,b\geq 2\) 时,\(R(a,b)\) 是一个有限数,并且有 \(R(a,b) \leq R(a-1,b) + R(a,b-1)\)。
\(Stirling\)数
-
第一类\(stirling\)数
令 \([x]_n = x*(x-1)*···*(x-n+1)\)
定义4.8
若 \([x]_n = \sum_{k=0}^nS_1(n,k)x^k\),则称\(S_1(n,k)\)为第一类\(stirling\)数。显然,\(S_1(n,k)\)就是多项式\([x]_n\)的系数。
定理4.7
第一类\(stirling\)数满足如下递归关系式:
\[\begin{cases} S_1(n+1,k)=S_1(n,k-1)-nS_1(n,k) & n\geq 0,k>0 \\ S_1(0,0) = 1,S_1(n,0)=0 \end{cases} \]证明:
\[[x]_{n+1} = \sum_{k=0}^{n+1}S_1(n+1,k)x^k \]又
\[[x]_{n+1} = x*(x-1)*···*(x-n) = [x]_n*(x-n) =\sum_{k=0}^nS_1(n,k)x^{k+1} - n\sum_{k=0}^nS_1(n,k)x^k \]故
\[\sum_{k=0}^{n+1}S_1(n+1,k)x^k = \sum_{k=0}^nS_1(n,k)x^{k+1} - n\sum_{k=0}^nS_1(n,k)x^k \]比较上式两端 \(x^k\) 的系数得:
\[S_1(n+1,k) = S_1(n,k-1) -nS_1(n,k) \]定理4.8
第一类\(Stirling\)数的其它定义:若\([x]_n = \sum_{k=0}^n(-1)^{n-k}S'(n,k)x^k\),则\(S'(n,k)\)为第一类\(Stirling\)数。且有递归关系式
\[\begin{cases} S'(n+1,k) = S'(n,k-1) + nS'(n,k) & n \geq 1, k>0 \\ S'(0,0) = 0,S'(n,0)=0 & n>0 \end{cases} \]\(S'(n,k)\)就是 \(n\) 个元素排成 \(k\) 个非空循环排列的方法数。
证明:
假设\(A(n,k)\)表示把 \(n\) 个元素排成 \(k\) 个非空循环排列的方法数。于是有\(A(n,n)=1(n \geq 0)\),因为 \(n\) 个元素排成 \(n\) 个非空循环排列,则每个非空循环排列只有一个元素,故方法唯一。窝们还有\(A(n,0)=0(n \geq 1)\),因为如果至少有一个元素,那么任何安排都至少包含一个非空循环排列。因此,\(A(n,k)\)和\(S'(n,k)\)满足相同的初始条件。假设这 \(n\) 个元素分别为\(a_1,a_2,···,a_n\)。将这些元素排成 \(k\) 个非空循环排列,可分为互不相容得两种情况:
- 设 \(a_n\) 单独成一个循环排列,于是把\(a_1,a_2,···,a_{n-1}\)排成\(k-1\)个非空循环排列的方法数为\(A(n-1,k-1)\)。
- 如果 \(a_n\) 不单独成为一个循环排列,则 \(a_n\) 至少和另一个元素 \(a_i\) 在一个循环排列中。首先将 \(a_1,a_2,···,a_{n-1}\)排成 \(k\) 个非空循环排列,然后再把 \(a_n\) 放在\(a_1,a_2,···,a_{n-1}\)的左边,共有\(A(n-1,k)*(n-1)\)种方式。
根据加法原则,可知\(a_1,a_2,···,a_n\)排成 \(k\) 个非空循环的排列方法数为\(A(n-1,k-1) + (n-1)A(n-1,k)\),因此有
\[A(n,k) = A(n-1,k-1) + (n-1)A(n-1,k) \]既
\[A(n+1,k) = A(n,k-1) + nA(n,k) \]显然,\(A(n,k)\)满足\(S'(n,k)\)的递归关系式且初始条件相同,故\(S'(n,k) = A(n,k)\)。
-
第二类\(Stirling\)数
定义4.9
若 \(x^n = \sum_{k=0}^nS_2(n,k)[x]_n\),则称\(S_2(n,k)\)为第二类\(Stirling\)数。
第二类\(Stirling\)数向窝们展示了如何用\([x]_0,[x]_1,···,[x]_n\)写出 \(x^n\),而第一类\(Stirling\)数告诉窝们如何用\(x^0,x^1,···,x^n\)写出\([x]_n\)。
定理4.8
第二类\(stirling\)数满足如下递归关系式:
\[\begin{cases} S_2(n+1,k) = S_2(n,k-1) + kS_2(n,k) & n\geq 0,k>0 \\ S_2(0,0)=1,S_2(n,0)=0 \end{cases} \]证明:
\[x^{n+1} = \sum_{k=0}^{n+1}S_2(n+1,k)[x]_k \]又
\[x^{n+1} = x^n * x = \sum_{k=0}^nS_2(n,k)[x]_k(x-k+k)=\sum_{k=0}^nS_2(n,k)([x]_{k+1} + k[x]_k) \]既
\[x^{n+1} = \sum_{k=0}^{n+1}S_2(n+1,k)[x]_k = \sum_{k=0}^nS_2(n,k)[x]_{k+1} + k\sum_{k=0}^nS_2(n,k)[x]_k \]比较上式两端的\([x]_{k}\)的系数得:
\[S_2(n+1,k) = S_2(n,k-1) + kS_2(n,k) \]定理4.10
第二类\(Stirling\)数\(S_2(n,k)\)就是 \(n\) 个元素得集合划分成 \(k\) 个不相交得非空子集的方式数。
证明:
设\(A(n,k)\)是 \(n\) 个元素划分成 \(k\) 个不相交的非空子集的方式数,下面证明\(A(n,k)\)满足上述递归关系式。
给定一个\(n+1\)元集合\(\{a_1,a_2,···,a_{n+1}\}\),将这个\(n+1\)元集合划分成 \(k\) 个不相交的非空子集,可分为互不相容的两种情况:
- 设\(\{a_{n+1}\}\)是 \(k\) 个子集合中的一个子集,于是把\(\{a_1,a_2,···,a_n\}\)划分为\(k-1\)个子集有\(A(n,k-1)\)种划分方式。
- 如果\(\{a_{n+1}\}\)不是 \(k\) 个子集合中的一个,则\(a_{n+1}\)必与其它元素构成一个子集。首先把\(\{a_1,a_2,···,a_n\}\)划分成 \(k\) 个子集,这共有\(A(n,k)\)种方式。然后再把\(a_{n+1}\)插入到这 \(k\) 个子集中的一个,共有 \(k\) 种可能。因此划分方式数共有\(kA(n,k)\)种。
根据加法原则,可知\(\{a_1,a_2,···,a_n,a_{n+1}\}\)划分为 \(k\) 个子集的方式数一共有:\(A(n,k-1) + kA(n,k)\) 种。
因此有
\[A(n+1,k) = A(n,k-1) + kA(n,k) \]显然,\(A(n,k)\)满足第二类\(Stirling\)数的递归关系式,故\(A(n,k) = S_2(n,k)\),定理得证。
定理4.11
设 \(m,n\) 均为正整数且\(m \leq n\),\(S_2(n,m) = \frac{1}{m!}\sum_{i=0}^m(-1)^iC_m^i(m-i)^n\)。
证明:
考虑这样一个问题,把 \(n\) 个不同的球放进 \(m\) 个不同编号的盒子中,使得没有一个盒子为空的方式数。首先,不考虑盒子的编号,也就是说假设这 \(m\) 个盒子是相同的。这样以来,把 \(n\) 个不同的球放进 \(m\) 个相同的盒子而且无一盒为空 等价于 把一个 \(n\) 元集合\(\{a_1,a_2,···,a_n\}\)划分为 \(m\) 个不相交的非空子集。由定理4.9可知,这共有\(S_2(n,m)\)种方式。其次再对盒子编号,易知,\(m\) 个盒子共有 \(m!\) 种编号方式,于是由乘法规则可得:共有
\[m!S_2(n,m) \]种方式把 \(n\) 个不同的球放进 \(m\) 个不同的盒子中,且无一盒为空。实际上窝们也可以用容斥原理解决这个问题。令 \(S\) 表示把 \(n\) 个不同的球任意放进 \(m\) 个不同的盒子中的所有放法所组成的集合,显然有\(|S| = m^n\)。令 \(p_i(i=1,2,···,m)\) 表示第 \(i\) 个盒子为空这一性质,\(A_i(i=1,2,···,m)\) 表示 \(S\) 中具有性质 \(p_i\) 的元素所组成的集合,则 \(\overline{A_1} \cap \overline{A_2} \cap ··· \cap \overline{A_m}\) 表示没有一个盒子为空的元素所组成的集合。由容斥原理可知,
\[|\overline{A_1} \cap \overline{A_2} \cap ··· \cap \overline{A_m}| = |S| - \sum_{i=1}^m|A_i| + \sum_{i \neq j}|A_i \cap A_j| - \sum_{i \neq j \neq k}|A_i \cap A_j \cap A_k| + ··· +(-1)^m|A_1 \cap A_2 \cap ··· \cap A_m| \]一般的,对于 \(m\) 个盒子让 \(k\) 个盒子为空的放球方法数为 \(C_m^k(m-k)^n\),故
\[|\overline{A_1} \cap \overline{A_2} \cap ··· \cap \overline{A_m}| = m^n - C_m^1(m-1)^n + C_m^2(m-2)^n - C_m^3(m-3)^n + ··· + (-1)^mC_m^m(m-m)^n \\ = \sum_{i=0}^m(-1)^iC_m^i(m-i)^n \]所以
\[m!S_2(n,m) = \sum_{i=0}^m(-1)^iC_m^i(m-i)^n \]既
\[S_2(n,m) = \frac{1}{m!}\sum_{i=0}^m(-1)^iC_m^i(m-i)^n \]例题
设 \(m,n\) 均为正整数,证明 \(\sum_{i=1}^mi^n = \sum_{k=0}^nk! * S_2(n,k)*C_{m+1}^{k+1}\)
证明:
使用下题的结论,有
\[\begin{align} \sum_{i=1}^mi^n =& \sum_{i=1}^m(\sum_{k=1}^iC_i^k*S_2(n,k)*k!) \\ =&\sum_{i=1}^m(\sum_{k=1}^nC_i^k*S_2(n,k)*k!) \\ =&\sum_{k=1}^n(\sum_{i=1}^mC_i^k*S_2(n,k)*k!) \\ =&\sum_{k=1}^nk!*S_2(n,k)*(\sum_{i=1}^mC_i^k) \end{align} \]对于正整数 \(n\) 和 \(k\),有
\[\sum_{i=1}^mC_i^k = C_{m+1}^{k+1} \]可根据归纳法证明上述等式,又\(S_2(n,0)=0\),所以
\[\sum_{i=1}^mi^n = \sum_{k=1}^nk!*S_2(n,k)*C_{m+1}^{k+1} = \sum_{k=0}^nk!*S_2(n,k)*C_{m+1}^{k+1} \]例题
设 \(m,n\) 均为正整数且\(m \leq n\),证明 \(m^n = \sum_{k=1}^mC_m^k*S_2(n,k)*k!\)
证明:
注意到这样一个问题,\(n\) 个 不同的球放入到 \(m\) 个不同的盒子中且允许有空盒的方法数为 \(m^n\) 种。由定理4.10知,\(n\) 个不同的球放入到 \(m\) 个不同的盒子中且无一盒为空的方法数为 \(m!S_2(n,m)\)。而从 \(m\) 个盒子中选取 \(k\) 个盒子的方法数为\(C_m^k\),故枚举所有的放法中可能出现的非空盒数\(k(k=1,2,···,m)\),根据加法原则,有:
\[m^n = C_m^1*S_2(n,1) + C_m^2*S_2(n,2)*2! + ··· + C_m^m*S_2(n,m)*m! = \sum_{k=1}^mC_m^k*S_2(n,k)*k! \]
\(Bell\)数
定义4.10
若 \(B_n = \sum_{k=0}^nS_2(n,k)\),则称 \(B_n\) 为\(Bell\)数。显然\(B_0 = 1\)。
定理4.12
\(Bell\)数\(B_n\)为 \(n\) 个元素的集合划分为不相交的非空子集的方式数,且满足如下递归关系式:
证明:
给定一个\(n+1\)元集合\(\{a_1,a_2,···,a_n,a_{n+1}\}\),将其划分为不相交的非空子集。首先,假设第 \(n+1\) 个元素 \(a_{n+1}\) 所在子集的元素个数有 \(k+1(k=1,2,···,n)\) 个,既从\(\{a_1,a_2,···,a_n\}\)中挑选 \(k\) 个元素和 \(a_{n+1}\) 组成一个子集。显然,挑选的方式数有\(C_n^k\)种,而剩下的 \(n-k\) 个元素划分为不相交的非空子集的方式数为 \(B_{n-k}\),故
又\(C_n^k = C_n^{n-k}\),所以
和定理4.9用到了相似的证明思路。