一些比较特殊的计数序列

主要来源于教材《组合数学及其应用》

鸽笼原理

定理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\)

  1. 第一类\(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)\)

  2. 第二类\(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\) 个元素的集合划分为不相交的非空子集的方式数,且满足如下递归关系式:

\[B_{n+1} = \sum_{k=0}^nC_n^kB_k \]

证明:

给定一个\(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}\),故

\[B_{n+1} = C_n^0*B_n + C_n^1 * B_{n-1} + C_n^2B_{n-2} + ··· + C_n^nB_0 \]

\(C_n^k = C_n^{n-k}\),所以

\[B_{n+1} = C_n^nB_n + C_n^{n-1}B_{n-1} + C_n^{n-2}B_{n-2} + ··· + C_n^0B_0 = \sum_{k=0}^nC_n^kB_k \]

和定理4.9用到了相似的证明思路。

posted @ 2020-12-03 11:21  天之道,利而不害  阅读(250)  评论(0编辑  收藏  举报