斯特林数-斯特林反演

斯特林数

定义:

自行百度

递推式:

\[\begin{Bmatrix}n\\k \end{Bmatrix}=\begin{Bmatrix}n-1\\k-1\end{Bmatrix}+k\cdot \begin{Bmatrix}n-1\\k \end{Bmatrix}\\ \begin{bmatrix}n\\k \end{bmatrix}=\begin{bmatrix}n-1\\k-1 \end{bmatrix}+(n-1)\cdot \begin{bmatrix}n-1\\k \end{bmatrix} \]

第二类斯特林数

一个组合数意义清晰的式子:

\[\displaystyle n^m=\sum_{k=0}^m\begin {Bmatrix}m\\k \end{Bmatrix}C_n^kk!\\ \]

通过二项式反演的得到(这里是将m看作一个常数):

\[k!\begin {Bmatrix}m\\k \end{Bmatrix}=\sum_{i=0}^k(-1)^{k-i}C_k^ii^m\\ \]

上述式子用容斥原理也很好理解。

我们还可以将上述的式子化为卷积的形式:

\[\begin{align} \begin {Bmatrix}m\\k \end{Bmatrix}&=\frac{1}{k!}\sum_{i=0}^k(-1)^{k-i}\frac{k!}{i!(k-i)!}i^m\\ &=\sum_{i=0}^k\frac{(-1)^{k-i}}{(k-i)!}\frac{i^m}{i!}\\ \end{align} \]

第二类斯特林数的应用:

【2011集训贾志鹏】Crash的文明世界

【TJOI/HEOI2016】求和

CF 932E Team Work


斯特林数与阶乘幂之间的关系:

第二类斯特林数与下降阶乘幂的关系:

\[C_n^kk!=n^{\underline k}\\ 所以:\displaystyle n^m=\sum_{k=0}^m\begin {Bmatrix}m\\k \end{Bmatrix}C_n^kk!=\sum_{k=0}^m\begin {Bmatrix}m\\k \end{Bmatrix}n^{\underline k}\\ \]

当然也有第一类斯特林数与上升阶乘幂的关系:

\[\displaystyle x^{\overline{n}}=\sum_k \begin{bmatrix}n\\k \end{bmatrix}x^k \]

证明使用数学归纳法证明的:

首先我们有\((x+n-1)\cdot x^k=x^{k+1}+(n-1)x^k\)

所以:

\[\begin{align} \displaystyle x^{\overline{n}}&=(x+n-1)x^{\overline{n-1}}\\ &=(x+n-1)\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^k\\ &=\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^{k+1}+\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^k (n-1)\\ &=\sum_k \begin{bmatrix}n-1\\k-1 \end{bmatrix}x^{k}+\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^k (n-1)\\ &=\sum_k x^k (\begin{bmatrix} n-1\\k-1\end{bmatrix}+(n-1)\begin{bmatrix}n-1\\k\end{bmatrix})\\ &=\sum_k x^k\begin{bmatrix}n\\k\end{bmatrix} \end{align} \]


斯特林反演:

\[\displaystyle f(n)=\sum_{k=0}^n \begin{Bmatrix}n\\k \end{Bmatrix}g(k) \Longleftrightarrow g(n)=\sum_{k=0}^n(-1)^{n-k}\begin {bmatrix} n\\k \end{bmatrix}f(k) \]

首先我们要证明一个叫反转公式的东西:

\[\displaystyle \sum_{k=m}^n (-1)^{n-k}\begin{bmatrix}n\\k\end{bmatrix} \begin{Bmatrix}k\\m\end{Bmatrix}=[m=n]\\ \sum_{k=m}^n (-1)^{n-k}\begin{Bmatrix}n\\k\end{Bmatrix} \begin{bmatrix}k\\m\end{bmatrix}=[m=n] \]

在这之前,我们先考虑如何建立上升阶乘幂与下降阶乘幂之间的关系。

先给出结论:

\[x^{\underline{n}}=(-1)^n(-x)^{\overline{n}}\\ x^{\overline{n}}=(-1)^n(-x)^{\underline{n}} \]

证明:

\[\begin{align} (-1)^n(-x)^{\overline{n}}&=(-1)^n(-x)(-x+1)...(-x+n-1)\\ &=(-1)^n(-x)(-(x-1))...(-(x-n+1))\\ &=x(x-1)...(x-n+1)=x^{\underline{n}} \end{align} \]

对于\(x^{\overline{n}}=(-1)^n(-x)^{\underline{n}}\)证明方法相同。

\[\begin{align} \displaystyle n^m&=\sum_{k=0}^{m}\begin{Bmatrix}m\\k\end{Bmatrix}n^{\underline{k}}\\ &=\sum_{k=0}^{m}\begin{Bmatrix}m\\k\end{Bmatrix}(-1)^k(-n)^{\overline{k}} \end{align} \]

将下式带入:

\[\displaystyle x^{\overline{n}}=\sum_k \begin{bmatrix}n\\k \end{bmatrix}x^k \]

得:

\[\begin{align} \displaystyle n^m&=\sum_{k=0}^{m}\begin{Bmatrix}m\\k\end{Bmatrix}(-1)^k(-n)^{\overline{k}}\\ &=\sum_{k=0}^{m}\begin{Bmatrix}m\\k\end{Bmatrix}(-1)^k\sum_{j=0}^k\begin{bmatrix}k\\j\end{bmatrix}(-n)^j\\ &=\sum_{j=0}^mn^j\sum_{k=j}^{m}\begin{Bmatrix}m\\k\end{Bmatrix}\begin{bmatrix}k\\j\end{bmatrix}(-1)^{k-j} \end{align} \]

于是我们就得到了一个反转公式,另一个证明方法类似,反过来带入就可以了。

\[\sum_{k=j}^m\begin{Bmatrix}m\\k\end{Bmatrix}\begin{bmatrix}k\\j\end{bmatrix}(-1)^{k-j}=[j=m] \]

然后我们就可以证明斯特林反演了:

\[\begin{align} \displaystyle 若满足g(n)&=\sum_{j=0}^n(-1)^{n-j}\begin{bmatrix}n\\j\end{bmatrix}f(j)\\ 则f(n)&=\sum_{j=0}^n[j==n]f(j)\\ &=\sum_{j=0}^n\sum_{k=j}^n\begin{Bmatrix}n\\k\end{Bmatrix}\begin{bmatrix}k\\j\end{bmatrix}(-1)^{k-j}f(j)\\ &=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}\sum_{j=0}^k(-1)^{k-j}\begin{bmatrix}k\\j\end{bmatrix}f(j)\\ &=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}g(k) \end{align} \]

例题:

2018雅礼集训1-16 方阵

posted @ 2018-11-25 18:18  hec0411  阅读(2850)  评论(4编辑  收藏