第二类斯特林数
组合意义
将 \(n\) 个元素划分到 \(k\) 个非空集合中的方案数,记作 \(\displaystyle {n\brace k}\) 或 \(S(n,k)\)。
特殊地,定义 \(\displaystyle {n\brace 0}=[n=0],{n\brace n}=1\)。
重要恒等式
Formula 1.2.1:
\[{n\brace k}={n-1\brace{k-1}}+k{n-1\brace{k}}
\]
证明:若将第 \(n\) 个元素单独划分入一个集合,那么需要将前 \(n-1\) 个元素划分到 \(k-1\) 个非空集合中;若不单独将第 \(n\) 个元素划分入一个集合,那么需要将前 \(n-1\) 个元素划分到 \(k\) 个非空集合中,并将第 \(n\) 个元素划入这 \(k\) 个集合中的任意一个,根据加法原理与乘法原理可知 Formula 1.1 成立。
Formula 1.2.2:
\[{n\brace k}=\frac{1}{k!}\sum_{i=0}^{k}{k\choose i}(-1)^{k-i}i^n
\]
证明:考虑用两种不同的方式计数将 \(n\) 个元素划分到 \(k\) 个有标号且可以为空的集合的方案数。
故有
\[k^n=\sum_{i=0}^{k}{k\choose i}{n\brace i}i!
\]
二项式反演得
\[{n\brace k}k!=\sum_{i=0}^k{k\choose i}(-1)^{k-i}i^n\iff{n\brace k}=\frac{1}{k!}\sum_{i=0}^{k}{k\choose i}(-1)^{k-i}i^n
\]
这个式子还能导出自然数幂和
\[\begin{aligned}\sum_{k=0}^nk^p&=\sum_{k=0}^n\sum_{i=0}^k{k\choose i}{p\brace i}i!\\&=\sum_{i=0}^n{p\brace i}i!\sum_{k=0}^n{k\choose i}\\&=\sum_{i=0}^p{p\brace i}i!{n+1\choose i+1}\end{aligned}
\]
为了使其更加简洁,设 \(S^{\#}(p,k)\) 为将 \(p\) 元素集合划分到 \(k\) 个有标号的非空集合的方案数,显然,\(S^{\#}(p,k)=k!S(p,k)\),于是
\[\sum_{k=0}^{n-1}k^p=\sum_{i=1}^{p+1}S^{\#}(p,i-1){n\choose i}
\]
普通幂转上升/下降幂
Formula 1.3.1:
\[x^n=\sum_{k=0}^n{n\brace k}x^{\underline{k}}
\]
Formula 1.3.2:
\[x^n=\sum_{k=0}^n{n\brace k}(-1)^{n-k}x^{\overline{k}}
\]
证明:先证 Formula 1.3.1,考虑归纳。
当 \(n=0\) 时显然成立;
假设对某个 \(n\) Formula 1.3.1 成立,那么
\[\begin{aligned}\sum_{k=0}^{n+1}{{n+1}\brace k}x^{\underline{k}}&=\sum_{k=0}^{n+1}\left(k{n\brace k}+{n\brace k-1}\right)x^{\underline{k}}\\&=\sum_{k=0}^nk{n\brace k}x^{\underline{k}}+\sum_{k=0}^{n}{n\brace k}x^{\underline{k+1}}\\&=\sum_{k=0}^n((x-k)+k){n\brace k}x^{\underline{k}}\\&=x\sum_{k=0}^n{n\brace k}x^{\underline{k}}\\&=x\cdot x^n=x^{n+1}\end{aligned}
\]
由第一数学归纳法原理可知 Formula 1.3.1 对任意自然数 \(n\) 成立。
注意到
\[x^{\overline{n}}=-(-x)^{\underline{n}}
\]
将其代入 Formula 1.3.1 可得 Formula 1.3.2,证毕。
第一类斯特林数
组合意义
将 \(n\) 个元素划分成 \(k\) 个圆排列的方案数,记作 \(\displaystyle{n\brack k}\) 或 \(s(n,k)\)。
特殊地,定义 \(\displaystyle {n\brack 0}=[n=0],{n\brack n}=1\)。
递推公式
\[{n\brack k}={{n-1}\brack{k-1}}+(n-1){{n-1}\brack k}
\]
证明:若将第 \(n\) 个元素单独划分入一个圆排列,那么需要将前 \(n-1\) 个元素划分成 \(k-1\) 个圆排列;若不单独将第 \(n\) 个元素划分入一个圆排列,那么需要将前 \(n-1\) 个元素划分成 \(k\) 个圆排列,并将第 \(n\) 个元素插入到前 \(n-1\) 个元素的任意一个之前,根据加法原理与乘法原理可知上式成立。
上升幂/下降幂转普通幂
Formula 2.3.1
\[x^{\overline{n}}=\sum_{k=0}^n{n\brack k}x^k
\]
Formula 2.3.2
\[x^{\underline{n}}=\sum_{k=0}^n{n\brack k}(-1)^{n-k}x^k
\]
证明:先证 Formula 2.3.1,考虑归纳:
当 \(n=0\) 时显然成立;
假设对于某个 \(n\) Formula 2.3.1 成立,那么
\[\begin{aligned}\sum_{k=0}^{n+1}{n+1\brack k}x^k&=\sum_{k=0}^{n+1}\left({n\brack k-1}+n{n\brack k}\right)x^k\\&=\sum_{k=0}^n{n\brack k}x^{k+1}+n\sum_{k=0}^n{n\brack k}x^k\\&=(x+n)\sum_{k=0}^n{n\brack k}x^k\\&=(x+1)x^{\overline{n}}=x^{\overline{n+1}}\end{aligned}
\]
由第一数学归纳法原理可知 Formula 2.3.1 对任意自然数 \(n\) 成立。
同理,将 \(x^{\overline{n}}=-(-x)^{\underline{n}}\) 代入 Formula 2.3.1 可得 Formula 2.3.2,证毕。
斯特林反演
前文我们提到普通幂和下降幂可以通过两类斯特林数相互转换
\[x^n=\sum_{k=0}^n{n\brace k}x^{\underline{k}}
\]
\[x^{\underline{n}}=\sum_{k=0}^n{n\brack k}(-1)^{n-k}x^k
\]
这两个对称的式子启发我们做进一步的思考。
考虑域 \(\mathbb F\) 上的至多 \(n\) 次多项式构成的线性空间 \(\mathbb F[x]\),显然,\((1,x,x^2,\cdots,x^n)\) 和 \((1,x,x^{\underline{2}},\cdots,x^{\underline{n}})\) 都是它的基。
而第一、第二类斯特林数分别给出了这两个基之间的过渡矩阵
\[(1,x,x^2,\cdots,x^n)=(1,x,x^{\underline{2}},\cdots,x^{\underline{n}})\begin{pmatrix}1&\cdots&0&\cdots&0\\\vdots&&\vdots&&\vdots\\S(0,j)&\cdots&S(i,j)&\cdots&S(n,j)\\\vdots&&\vdots&&\vdots\\S(0,n)&\cdots&S(i,n)&\cdots&S(n,n)\end{pmatrix}
\]
\[(1,x,x^{\underline{2}},\cdots,x^{\underline{n}})=(1,x,x^2,\cdots,x^n)\begin{pmatrix}1&\cdots&0&\cdots&0\\\vdots&&\vdots&&\vdots\\(-1)^js(0,j)&\cdots&(-1)^{i-j}s(i,j)&\cdots&(-1)^{n-j}s(n,j)\\\vdots&&\vdots&&\vdots\\(-1)^ns(0,n)&\cdots&(-1)^{i-n}s(i,n)&\cdots&s(n,n)\end{pmatrix}
\]
这两个矩阵互为逆矩阵,根据逆矩阵的定义,有
\[\sum_{i\le k\le j}(-1)^{k-i}{k\brack i}{j\brace k}=[i=j]
\]
\[\sum_{i\le k\le j}(-1)^{j-k}{k\brace i}{j\brack k}=[i=j]
\]
接下来,考虑这两个基下的坐标变换,设
\[f(x)=\sum_{i=0}^na_ix^i=(1,x,\cdots,x^n)\begin{pmatrix}a_0\\a_1\\\vdots\\a_n\end{pmatrix}
\]
\[f(x)=\sum_{i=0}^nb_ix^{\underline{i}}=(1,x,\cdots,x^{\underline{n}})\begin{pmatrix}b_0\\b_1\\\vdots\\b_n\end{pmatrix}
\]
那么有
\[a_i=\sum_{j=0}^i(-1)^{i-j}{i\brack j}b_j
\]
\[b_i=\sum_{j=0}^i{i\brace j}a_j
\]
这给出了斯特林反演公式
\[f_n=\sum_{i=0}^n(-1)^{n-i}{n\brack i}g_i\iff g_n=\sum_{i=0}^n{n\brace i}f_i
\]