斯特林数
第二类斯特林数
定义 :
\(n \brace m\) 表示将n个数放在m个非空集合的方案数(注:斯特林数写作大括号)
递推式:
\[{n \brace m} = {n - 1 \brace m - 1} + m \times{n - 1 \brace m}
\]
其组合意义是:把最后一个数单开一列 \({n - 1 \brace m - 1}\) 加上把最后一个数放入 \(m\) 个集合中的其中一个 \(m \times{n - 1 \brace m}\)
递推边界:${n\brace n} = {n \brace 1} = 1(n \ge 0) $, \({n \brace 0} = [n = 0]\)
还有其他一些特值: \(\
\begin{array}{l}
\left\{\begin{matrix}n\\2\end{matrix}\right\}=2^{n - 1}-1(n>0),
\left\{\begin{matrix}n\\n - 1\end{matrix}\right\}=\binom{n}{2}
\end{array}
\)
通项公式:
\[{n \brace m} = \sum_{i=0}^m\frac{i^n\cdot(-1)^{m-i}}{(m-i)!i!}
\]
证明:设将 n 个有标号物品放到 k 个有标号盒子(允许空盒子)的方案数为 \(G_k\);将 n 个有标号物品放到 k 个有标号盒子(不允许空盒子)的方案数为 \(F_k\)
\[\therefore G_k = k^n, G_k = \sum^k_{i=0} \binom ki F_i
\]
第二个式子表示从 n 个盒子选 i 个必须放物品,然后对 i 求和。
然后二项式反演,得到:
\[F_k = \sum^k_{i=0}(-1)^{k-i}\binom kiG_i = \sum^k_{i=0}(-1)^{k-i}\binom ki k^n
\]
因为 \(F\) 的物品有标号,所以 :
\[{F_k\over n!} = {n \brace k}
\]
带回去就得到:
\[{n \brace m} = \sum_{i=0}^m\frac{i^n\cdot(-1)^{m-i}}{(m-i)!i!}
\]
第一类斯特林数
定义:
\(n \brack m\):表示将 n 个元素排成 m 个轮换的方案数。也即所有 n! 个排列中,构成的置换有 m 个无标号环的排列数。
递推式:
\[{n\brack m} = {n-1\brack m-1} + (n-1){n-1\brack m}
\]
其组合意义是:考虑最后一个元素,可以加入任意一个轮换并且可以插入任意一个位置,相当于可以任选一个数,插在其后面 \((n-1){n-1\brack m}\),也可以新开一个轮换 \({n-1\brack m-1}\)。
递推边界以及特殊值:
\[{n\brack 0} = [n = 0], {n \brack n} = 1\\
{n\brack 1} = (n-1)!, {n\brack n-1} = {n \choose 2}
\]
两种斯特林数的大小关系:
由定义和递推式容易看出 :\({n \brace m} \le {n \brack m}\)。当 m 等于 n,n-1,0 时等号成立。
定理
我们知道一个有 n 个元素的排列和一个 n 个元素的置换一一对应,于是对所有置换 中的轮换个数求和,我们有:
\[\sum_{k = 0}^{n}\begin{bmatrix}n\\k\end{bmatrix}=n!
\]
斯特林数与三种幂(很重要!)
先复习一下上升幂,下降幂:
下降幂
\(n^{\underline{m}}=n(n - 1)(n - 2)\cdots(n - m + 1)\)
上升幂
\(n^{\overline{m}}=n(n + 1)(n + 2)\cdots(n + m - 1)\)
相关结论
- \(n^{\overline{m}}=(n + m - 1)^{\underline{m}}\),用于处理上升幂
- \(n^{\underline{m}}=(n - m + 1)^{\underline{m}}\),用于处理 \(n < 0\) 情况
- \(x^{\underline{n}}=(-1)^{n}(-x)^{\overline{n}}\),用于上升下降幂的转换
- \(\binom{n}{m}=\frac{n^{\underline{m}}}{m!}\)
上升下降幂与普通幂的转换
注意到,上升幂和下降幂本质上也是多项式,所以一个多项式也可以用上升幂和下降幂来表示。
他们的关系如下:
\[x^n=\sum_{k = 0}^{n}\left\{\begin{matrix}n\\k\end{matrix}\right\}x^{\underline{k}}=\sum_{k = 0}^{n}\left\{\begin{matrix}n\\k\end{matrix}\right\}\binom{x}{k}k!\\
x^{\overline n} = \sum^n_{k=0}{n\brack k}x^k
\]
可以简记为第二类斯特林数对应下降幂,第一类斯特林数对应上升幂
因为下降幂的组合意义比上升幂更好,所以更常用第一个式子来转换普通幂
对于第一个式子,考虑使用数学归纳法证明:
首先观察到:\(x^{\underline{k + 1}}=x^{\underline{k}}(x - k)\Longrightarrow x\cdot x^{\underline{k}}=x^{\underline{k + 1}}+kx^{\underline{k}}\)。
那么:
\[\begin{align*}
x\cdot x^{n - 1}&=x\cdot\sum_{k = 0}^{n - 1}\left\{\begin{matrix}n - 1\\k\end{matrix}\right\}x^{\underline{k}}\\
&=\sum_{k = 0}^{n - 1}\left\{\begin{matrix}n - 1\\k\end{matrix}\right\}x^{\underline{k+1}}+\sum_{k = 0}^{n - 1}\left\{\begin{matrix}n - 1\\k\end{matrix}\right\}kx^{\underline{k}}\\
&=\sum_{k = 1}^{n}\left\{\begin{matrix}n - 1\\k - 1\end{matrix}\right\}x^{\underline{k}}+\sum_{k = 1}^{n - 1}\left\{\begin{matrix}n - 1\\k\end{matrix}\right\}kx^{\underline{k}}\\
&=\sum_{k = 1}^{n}\left(k\left\{\begin{matrix}n - 1\\k\end{matrix}\right\}+\left\{\begin{matrix}n - 1\\k - 1\end{matrix}\right\}\right)x^{\underline{k}}\\
&=\sum_{k = 1}^{n}\left\{\begin{matrix}n\\k\end{matrix}\right\}x^{\underline{k}}
\end{align*}
\]
第二个式子也可以用数学归纳法证明:
不过这次的观察是 : \((x+n-1) \cdot x^{k}=x^{k+1}+(n-1) x^{k}\)
\[\begin{aligned}
x^{\overline n}
& =(x+n-1) x^{\overline{n-1}} \\
& =(x+n-1) \sum_{k=0}^{n-1}\left[\begin{array}{c}
n-1 \\
k
\end{array}\right] x^{k} \\
& =\sum_{k=0}^{n-1}(n-1)\left[\begin{array}{c}
n-1 \\
k
\end{array}\right] x^{k}+\sum_{k=1}^{n}\left[\begin{array}{l}
n-1 \\
k-1
\end{array}\right] x^{k} \\
& =\sum_{k=0}^{n}\left[\begin{array}{l}
n \\
k
\end{array}\right] x^{k}
\end{aligned}
\]
观察到,注意到上升幂和下降幂的多项式展开后,系数是有交错的符号,比如:
\[\begin{align*}
x^{\underline{4}}&=x(x - 1)(x - 2)(x - 3)=x^{4}-6x^{3}+11x^{2}-6x\\
x^{\overline{4}}&=x(x + 1)(x + 2)(x + 3)=x^{4}+6x^{3}+11x^{2}+6x
\end{align*}
\]
形式化的表示为:
\[\begin{aligned}
& x^{\overline{n}}=\sum_{k = 0}^{n}\left[\begin{array}{l}n\\k\end{array}\right]x^{k}\\
& x^{\overline{n}}=\sum_{k = 0}^{n}(-1)^{n-k}\left[\begin{array}{l}n\\k\end{array}\right]x^{k}
\end{aligned}
\]
由
\[x^n=\sum_{k = 0}^{n}\left\{\begin{matrix}n\\k\end{matrix}\right\}x^{\underline{k}}
\]
和
\[x^{\underline{n}}=(-1)^{n}(-x)^{\overline{n}}
\]
得到:
\[x^n=\sum_{k = 0}^{n}\left\{\begin{matrix}n\\k\end{matrix}\right\}(-1)^k(- x)^{\overline{k}}
\]
用 \(-x\) 替换 \(x\),然后合并 \(-1\) 的系数后易得:
\[x^n=\sum_{k = 0}^{n}\left\{\begin{matrix}n\\k\end{matrix}\right\}(-1)^{n-k}x^{\overline{k}}
\]
总结一下:
上升下降幂的互相转换: \(n^{\overline{m}}=(n + m - 1)^{\underline{m}}\) 和 \(x^{\underline{n}}=(-1)^{n}(-x)^{\overline{n}}\)
普通幂转下降幂:\(x^n=\sum_{k = 0}^{n}\left\{\begin{matrix}n\\k\end{matrix}\right\}x^{\underline{k}}\)
普通幂转上升幂:\(x^n=\sum_{k = 0}^{n}(-1)^{n-k}\left\{\begin{matrix}n\\k\end{matrix}\right\}x^{\overline{k}}\)
上升幂转普通幂:\(x^{\overline n} = \sum^n_{k=0}{n\brack k}x^k\)
下降幂转普通幂:\(x^{\underline n} = \sum^n_{k=0}(-1)^{n-k}{n\brack k}x^k\)
反转公式
由上总结,我们能感受到两类斯特林数密不可分的关系,接下来我们就来探究它们的关系。
我们把普通幂转上升幂再转普通幂得:
\[x^n=\sum^n_{j=0}\sum_{k = j}^{n}(-1)^{n-k}\left\{\begin{matrix}n\\k\end{matrix}\right\}{k\brack j}x^j
\]
把 \(\sum_{k = j}^{n}(-1)^{n-k}\left\{\begin{matrix}n\\k\end{matrix}\right\}{k\brack j}\) 作为 \(x^j\)的系数,只有 \(j = n\) 时右边的系数为1,其余的系数为0。
所以得到第一个反转公式:
\[\sum_{k = j}^{n}(-1)^{n-k}\left\{\begin{matrix}n\\k\end{matrix}\right\}{k\brack j} = [j = n]
\]
\[\because \left\{\begin{matrix}n\\n\end{matrix}\right\}{n\brack n} = 1\\
\therefore \sum_{k = j}^{n-1}(-1)^{n-k}\left\{\begin{matrix}n\\k\end{matrix}\right\}{k\brack j} = 0
\]
同理我们把普通幂转下降幂再转普通幂得:
\[\sum_{k}^{n}\left[\begin{array}{l}n\\k\end{array}\right]\left\{\begin{array}{l}k\\m\end{array}\right\}(-1)^{n - k}=[m = n]
\]
斯特林反转
\[f(n)=\sum_{k = 0}^{n}\left\{\begin{array}{l}n\\k\end{array}\right\}g(k)\Longleftrightarrow g(n)=\sum_{k = 0}^{n}(-1)^{n - k}\left[\begin{array}{l}n\\k\end{array}\right]f(k)\\
f(m)=\sum_{k = m}^{n}\left\{\begin{array}{l}k\\m\end{array}\right\}g(k)\Longleftrightarrow g(m)=\sum_{k = m}^{n}(-1)^{k - m}\left[\begin{array}{l}k\\m\end{array}\right]f(k)
\]
带入用反转公式可以验证。
斯特林一行之和与一列之和
和多项式有关。
咕咕咕...
补充
高阶差分与第二类斯特林数有奇妙的性质:
\[\left.\Delta^{m}x^{n}\right|_{x = 0}=m!\begin{Bmatrix}n\\m\end{Bmatrix}
\]