斯特林数
第二类斯特林数(斯特林子集数)
定义
\(S_2(n,k)=\begin{Bmatrix}n\\k\end{Bmatrix}\)
表示将 \(n\) 个不同的元素,划分为 \(k\) 个不区分的集合(不允许空集)的方案数。
递推公式
\[ \begin{align} S_2(0,0)&=1\nonumber\\ S_2(n,k)&=S_2(n-1,k-1)+k*S_2(n-1,k)\nonumber\\ \end{align} \]
组合意义
插入一个新元素时,有两种方案:
① 将新元素单独放入一个子集,有 \(S_2(n-1,k-1)\) 种。
② 将新元素放入已有的 \(k\) 个子集,有 \(k*S_2(n-1,k)\) 种。
推论
令 \(G_i\) 为将 \(n\) 个不同的元素,划分到 \(i\) 个不同的集合(允许空集)内,\(F_i\) 为将 \(n\) 个不同的元素,划分到 \(i\) 个不同的集合(不允许空集) 。
则有 \(G_i=i^n\),显然有 \(G_i=\sum_{j=0}^iC_i^j*F_j\)
根据二项式反演有
\[ \begin{align} F_i&=\sum_{j=0}^i(-1)^{i-j}*C_i^j*G_j\nonumber\\ &=\sum_{j=0}^i(-1)^{i-j}*C_i^j*j^n\nonumber\\ &=\sum_{j=0}^i\dfrac{(-1)^{i-j}*i!*j^n}{j!*(i-j)!}\nonumber\\ \end{align} \]
因为 \(F_i\) 与 \(S_2(n,i)\) 的区别在于,\(F_i\) 是有序的,所以 \(F_i=S_2(n,i)*i!\)
所以
\[ S_2(n,m)=\dfrac{F_m}{m!}=\sum_{i=0}^m\frac{(-1)^{m-i}\cdot{i}^n}{i!\cdot(m-i)!}\nonumber \]
\[ G_i=i^n=\sum_{j=0}^iC_i^j*F_j=\sum_{j=0}^i\left(C_i^j*S_2(n,j)*j!\right)\nonumber \]
同一行
例题
同一列
例题
第一类斯特林数(斯特林轮换数)
定义
\(S_1(n,k)=\begin{bmatrix}n\\k\end{bmatrix}\)
表示将 \(n\) 个两两不同的元素,划分为 \(k\) 个不区分的轮换(非空)的方案数。
递推公式
\[ \begin{align} S_1(0,0)&=1\nonumber\\ S_1(n,k)&=S_1(n-1,k-1)+(n-1)*S_1(n-1,k)\nonumber\\ \end{align} \]
组合意义
插入一个新元素时,有两种方案:
① 将新元素置于一个单独的轮换中,共有 \(S_1(n-1,k-1)\) 种。
② 将新元素放入已有的轮换中的任意一个位置,共有 \((n-1)*S_1(n-1,k)\) 种。
同一行
例题
同一列
例题
上升幂与普通幂的相互转化
\[ \begin{align} \nonumber x^\overline{n}&=\prod_{i=0}^{n-1}(x+i)=\sum_{i=0}^nS_1(n,i)*{x^i}\\ \nonumber x^n&=\sum_{i=0}^{n}S_2(n,i)*(-1)^{n-i}*x^\overline{i} \end{align} \]
下降幂与普通幂的互相转化
\[ \begin{align} \nonumber x^\underline{n}&=\prod_{i=0}^{n-1}(x-i)=\sum_{i=0}^nS_1(n,i)*(-1)^{n-i}*x^k\\ \nonumber x^n&=\sum_{i=0}^{n}S_2(n,i)*x^\underline{i} \end{align} \]
性质
\[ \begin{align} \nonumber x^\underline n&=\dfrac{x!}{(x-n)!}\\ \nonumber C_n^k*k^\underline m&=C_{n-m}^{k-m}*n^\underline m\\ \nonumber (-x)^\overline n&=(-1)^n*x^\underline n\\ \nonumber (-x)^\underline n&=(-1)^n*x^\overline n \end{align}\\ \]