斯特林数 (1):恒等式,母函数

基本恒等式

递推关系

显然有

\[\begin{aligned} \begin{bmatrix}n\\m\end{bmatrix}&=(n-1)\begin{bmatrix}n-1\\m\end{bmatrix}+\begin{bmatrix}n-1\\m-1\end{bmatrix},\\ \begin{Bmatrix}n\\m\end{Bmatrix}&=m\begin{Bmatrix}n-1\\m\end{Bmatrix}+\begin{Bmatrix}n-1\\m-1\end{Bmatrix}. \end{aligned} \]

对第一类斯特林数的行和有如下封闭形式:

\[n!=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix}, \]

组合意义显然。

幂转换公式

首先有

\[x^n=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}x^{\underline{k}}. \]

\(\small \blacktriangledown\) 证明

对于 \(x\) 为正整数有一个组合学证明:将 \(n\) 个位置填入 \(1\)\(x\) 中的整数有 \(x^n\) 个方案,其中我们将所有填入数相同的位置合并为一个集合,则一个方案对应一种子集划分与这种划分下为每个集合安排互不相同的 \(x\) 以内的数。对于一般情况我们须使用归纳法:

\[\begin{aligned} x^n&=x\cdot x^{n-1}=x\sum_{k=0}^{n-1}{n-1\brace k}x^{\underline k}\\ &=\sum_{k=0}^{n-1}{n-1\brace k}\left(x^{\underline{k}}(x-k)+kx^{\underline k}\right)\\ &=\sum_{k=0}^{n-1}{n-1\brace k}x^{\underline{k+1}}+\sum_{k=0}^{n-1}k{n-1\brace k}x^{\underline k}\\ &=\sum_{k=0}^{n}{n-1\brace k-1}x^{\underline k}+\sum_{k=0}^{n-1}k{n-1\brace k}x^{\underline k}\\ &=\sum_{k=0}^{n}\left({n-1\brace k-1}+k{n-1\brace k}\right)x^{\underline k}=\sum_{k=0}^{n}{n\brace k}x^{\underline k} \end{aligned}\]

类似地可归纳

\[(x+n-1)x^{\overline{n-1}}=(x+n-1)\sum_{k=0}^{n}{n-1\brack k}x^k=\sum_{k}{n\brack k}x^k. \]

下面根据 \(x^{\underline{n}}=(-1)^n(-x)^{\overline{n}}\),我们有

\[\begin{aligned} x^n&=\sum_{k=0}^n{n\brace k}(-1)^{n-k}x^{\overline{k}},\\ x^{\underline n}&=\sum_{k=0}^n{n\brack k}(-1)^{n-k}x^k. \end{aligned} \]

\(\small \blacktriangledown\) 证明

\[\begin{aligned} (-x)^n&=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}(-x)^{\underline{k}},\\ (-1)^nx^n&=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}(-1)^kx^{\overline{k}}.\\ (-1)^{\overline{n}}=(-1)^nx^{\underline{n}}&=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix}(-x)^k=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix}(-1)^kx^k. \end{aligned}\]

斯特林反演

幂转换公式

\[\sum_{k}{n\brace k}{k\brack m}(-1)^{n-k}=\sum_{k}{n\brack k}{k\brace m}(-1)^{n-k}=[n=m].\]

\(\small \blacktriangledown\) 证明

对于第一个等式有

\[x^n=\sum_{k=0}^{n}{n\brace k}(-1)^{n-k}x^{\overline k}=\sum_{m}\left(\sum_{k}{n\brace k}{k\brack m}(-1)^{n-k}\right)x^m. \]

第二个等式类似,略。

斯特林反演

该幂转换公式直接给出了斯特林反演。

\[\begin{aligned} F(n)&=\sum_{k=0}^{n}\begin{Bmatrix}n\\k\end{Bmatrix}G(k)\iff G(n)=\sum_{k=0}^n(-1)^{n-k}\begin{bmatrix}n\\k\end{bmatrix}F(k),\\ F(n)&=\sum_{k=0}^{n}\begin{bmatrix}n\\k\end{bmatrix}G(k)\iff G(n)=\sum_{k=0}^n(-1)^{n-k}\begin{Bmatrix}n\\k\end{Bmatrix}F(k). \end{aligned} \]

总结

我们有如下斯特林数的基本恒等式:

\[\begin{aligned} \begin{bmatrix}n\\m\end{bmatrix}&=(n-1)\begin{bmatrix}n-1\\m\end{bmatrix}+\begin{bmatrix}n-1\\m-1\end{bmatrix},\\ \begin{Bmatrix}n\\m\end{Bmatrix}&=m\begin{Bmatrix}n-1\\m\end{Bmatrix}+\begin{Bmatrix}n-1\\m-1\end{Bmatrix},\\ n!&=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix},\\ x^n&=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}x^{\underline{k}}=\sum_{k=0}^n(-1)^{n-k}\begin{Bmatrix}n\\k\end{Bmatrix}x^{\overline{k}},\\ x^{\underline{n}}&=\sum_{k=0}^n(-1)^{n-k}\begin{bmatrix}n\\k\end{bmatrix}x^k,\quad x^{\overline{n}}=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix}x^k,\\ \delta_{nm}&=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix}\begin{Bmatrix}k\\m\end{Bmatrix}(-1)^{n-k}=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}\begin{bmatrix}k\\m\end{bmatrix}(-1)^{n-k},\\ F(n)&=\sum_{k=0}^{n}\begin{Bmatrix}n\\k\end{Bmatrix}G(k)\iff G(n)=\sum_{k=0}^n(-1)^{n-k}\begin{bmatrix}n\\k\end{bmatrix}F(k),\\ F(n)&=\sum_{k=0}^{n}\begin{bmatrix}n\\k\end{bmatrix}G(k)\iff G(n)=\sum_{k=0}^n(-1)^{n-k}\begin{Bmatrix}n\\k\end{Bmatrix}F(k). \end{aligned} \]


附加恒等式

现在我们将补充两类斯特林数的一些其他恒等式。

通项

对于第二类斯特林数,我们有通项

\[m!\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{k=0}^m\binom{m}{k}k^n(-1)^{m-k}. \]

联系幂转换公式,它与牛顿级数有相当的关联,见此通项的第二个证明。

\(\small \blacktriangledown\) 证明(二项式反演)

只需证

\[m^n=\sum_{k=0}^m\binom{m}{k}k!\begin{Bmatrix}n\\k\end{Bmatrix}, \]

这正是幂转换公式。

\(\small \blacktriangledown\) 证明(高阶差分,牛顿级数)

我们知道有牛顿级数

\[\begin{aligned} x^n&=\sum_{k=0}^n\Delta^k(x^n)\big|_{x=0}\binom{x}{n}\\ &=\sum_{k=0}^n(\mathrm E-1)^k(x^n)\big|_{x=0}\binom{x}{n}\\ &=\sum_{k=0}^n\left(\sum_{i=0}^k\binom{k}{i}{\rm E}^k(-1)^{n-k}\right)(x^n)\big|_{x=0}\binom{x}{n}\\ &=\sum_{k=0}^n\sum_{i=0}^k\binom{k}{i}k^n(-1)^{n-k}\binom{x}{n}\\ &=\sum_{k=0}^n\left(\frac{1}{n!}\sum_{i=0}^k\binom{k}{i}k^n(-1)^{n-k}\right)x^{\underline{n}}, \end{aligned}\]

对比幂转换公式即得该通项。

对第一类斯特林数类似操作可得相应结论,此处略。

递推关系

两类斯特林数因其特别的组合意义,有多种不同的递推方式。

命题 \(\bf 1\)

\[\begin{aligned} \begin{Bmatrix}n+1\\m+1\end{Bmatrix}&=\sum_{k=0}^n\binom{n}{k}\begin{Bmatrix}k\\m\end{Bmatrix}=\sum_{k=0}^n\binom{n}{k}\begin{Bmatrix}n-k\\m\end{Bmatrix},\\ \begin{Bmatrix}n\\m\end{Bmatrix}&=\sum_{k=m}^n(-1)^{n-k}\binom{n}{k}\begin{Bmatrix}k+1\\m+1\end{Bmatrix}. \end{aligned} \]

\(\small \blacktriangledown\) 证明(组合解释,二项式反演)

将第 \(n+1\) 个元素与之前 \(n\) 个元素中某 \(k\) 个分为新的一组,对 \(k\) 求和即得第一行;第二行则是前者的二项式反演。

命题 \(\bf 2\)

\[\begin{aligned} \begin{bmatrix}n+1\\m+1\end{bmatrix}&=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix}\binom{k}{m},\\ \begin{bmatrix}n\\m\end{bmatrix}&=\sum_{k=m}^n(-1)^{m-k}\begin{bmatrix}n+1\\k+1\end{bmatrix}\binom{k}{m}. \end{aligned} \]

\(\blacktriangledown\) 证明

第一行即对于前 \(n\) 个数的 \(k\) 个轮换,保留其中 \(m\) 个轮换,将余下 \(m-k\) 个轮换顺次相连再接上数 \(n+1\) 以形成一个新的轮换。
其正确性可这么考虑:对于固定保留的 \(m\) 个轮换之外剩下一个轮换,将 \(k\) 始终固定于结尾,则此轮换内前面若干数的所有情况皆可被外层的 \(k\) 枚举到。
习见地,第二行乃是上一行的二项式反演。

以上是通过枚举最后一个元素所在子集/轮换,即枚举最大元最大的子集/轮换得到的。若我们改为枚举最小元最大的子集/轮换,则可以得到另一套不同的递推关系。

命题 \(\bf 3\)

\[\begin{Bmatrix}n+1\\m+1\end{Bmatrix}=\sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}(m+1)^{n-k}. \]

\(\blacktriangledown\) 证明(组合意义)

右式无非是枚举 \(k\),将前 \(k\) 个数划为 \(m\) 个集合,第 \(k+1\) 个数单独为一集合,然后将 \(n+1\) 个数中余下 \(n-k\) 个数任意归入这 \(m+1\) 个集合中。其实质是在枚举最小元最大的子集的最小元(即 \(k\))。

命题 \(\bf 4\)

\[\begin{Bmatrix}n+1\\m+1\end{Bmatrix}=\sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}n^{\underline{n-k}}=n!\sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}\frac{1}{k!}. \]

\(\blacktriangledown\) 证明

承上,枚举所有轮换的最小元中的最大者 \(k\),在 \(\begin{Bmatrix}k\\m\end{Bmatrix}\) 的基础上令数 \(k+1\) 独成一轮换,余下的 \(n-k\) 个数中,数 \(k+2\)\(k+1\) 种插入方式,\(k+3\)\(k+2\) 种插入方式,以此类推,则对于一个 \(k\) 插入方式有 \(n……{\underline{n-k}}\) 种,是以求和后即得。

基于斯特林三角形,我们有类似二项式系数的平行求和法的一套恒等式,其推导无非是利用最基本的两个类似递推式将斯特林数逐次叠加到底。

命题 \(\bf 5\)

\[\begin{aligned} \begin{Bmatrix}m+n+1\\m\end{Bmatrix}&=\sum_{k=0}^mk\begin{Bmatrix}n+k\\k\end{Bmatrix},\\ \begin{bmatrix}m+n+1\\m\end{bmatrix}&=\sum_{k=0}^m(n+k)\begin{bmatrix}n+k\\k\end{bmatrix},\\ \end{aligned} \]

\(\blacktriangledown\) 代数学证明

对于第一行由于 \(\begin{Bmatrix}n\\k\end{Bmatrix}=k\begin{Bmatrix}n-1\\k\end{Bmatrix}+\begin{Bmatrix}n-1\\k-1\end{Bmatrix}\),右式为

\[\begin{aligned} \begin{Bmatrix}n+1\\0\end{Bmatrix}&+\begin{Bmatrix}n+1\\1\end{Bmatrix}+\sum_{k=2}^mk\begin{Bmatrix}n+k\\k\end{Bmatrix}\\ &=\begin{Bmatrix}n+2\\1\end{Bmatrix}+2\begin{Bmatrix}n+2\\2\end{Bmatrix}+\sum_{k=3}^mk\begin{Bmatrix}n+k\\k\end{Bmatrix}\\ &=\cdots\\ &=\begin{Bmatrix}n+m\\m-1\end{Bmatrix}+m\begin{Bmatrix}n+m\\m\end{Bmatrix}=\begin{Bmatrix}n+m+1\\m\end{Bmatrix}. \end{aligned}\]

第二行则大同小异,故略。

组合学证明

或许可以构造双射,没想出来。

反演转置

斯特林反演的转置

“斯特林反演”的本质是

\[\begin{aligned} \boldsymbol I&=\begin{pmatrix} \begin{Bmatrix}0\\0\end{Bmatrix}&\cdots&\begin{Bmatrix}n\\0\end{Bmatrix}\\ &\ddots&\vdots\\ &&\begin{Bmatrix}n\\n\end{Bmatrix} \end{pmatrix} \begin{pmatrix} (-1)^{0}\begin{bmatrix}0\\0\end{bmatrix}&\cdots&(-1)^{n}\begin{bmatrix}n\\0\end{bmatrix}\\ &\ddots&\vdots\\ &&(-1)^{0}\begin{bmatrix}n\\n\end{bmatrix} \end{pmatrix}\\ &=\begin{pmatrix} \begin{bmatrix}0\\0\end{bmatrix}&\cdots&\begin{bmatrix}n\\0\end{bmatrix}\\ &\ddots&\vdots\\ &&\begin{bmatrix}n\\n\end{bmatrix} \end{pmatrix} \begin{pmatrix} (-1)^{0}\begin{Bmatrix}0\\0\end{Bmatrix}&\cdots&(-1)^{n}\begin{Bmatrix}n\\0\end{Bmatrix}\\ &\ddots&\vdots\\ &&(-1)^{0}\begin{Bmatrix}n\\n\end{Bmatrix} \end{pmatrix}. \end{aligned} \]

其转置自然亦成立,即

\[\begin{aligned} \boldsymbol I&=\begin{pmatrix} \begin{Bmatrix}0\\0\end{Bmatrix}\\ \vdots&\ddots&\\ \begin{Bmatrix}n\\0\end{Bmatrix}&\cdots&\begin{Bmatrix}n\\n\end{Bmatrix} \end{pmatrix} \begin{pmatrix} (-1)^{0}\begin{bmatrix}0\\0\end{bmatrix}\\ \vdots&\ddots&\\ (-1)^{n}\begin{bmatrix}n\\0\end{bmatrix}&\cdots&(-1)^{0}\begin{bmatrix}n\\n\end{bmatrix} \end{pmatrix}\\ &=\begin{pmatrix} \begin{bmatrix}0\\0\end{bmatrix}\\ \vdots&\ddots&\\ \begin{bmatrix}n\\0\end{bmatrix}&\cdots&\begin{bmatrix}n\\n\end{bmatrix} \end{pmatrix} \begin{pmatrix} (-1)^{0}\begin{Bmatrix}0\\0\end{Bmatrix}\\ \vdots&\ddots&\\ (-1)^{n}\begin{Bmatrix}n\\0\end{Bmatrix}&\cdots&(-1)^{0}\begin{Bmatrix}n\\n\end{Bmatrix} \end{pmatrix}, \end{aligned} \]

这就引出斯特林反演的“转置版本”

\[\begin{aligned} F(m)&=\sum_{k=0}^{n}\begin{Bmatrix}k\\m\end{Bmatrix}G(k)\iff G(m)=\sum_{k=0}^n(-1)^{k-m}\begin{bmatrix}k\\m\end{bmatrix}F(k),\\ F(m)&=\sum_{k=0}^{n}\begin{bmatrix}k\\m\end{bmatrix}G(k)\iff G(n)=\sum_{k=0}^n(-1)^{k-m}\begin{Bmatrix}k\\m\end{Bmatrix}F(k). \end{aligned} \]

以上转置过程在对偶空间中亦有描述,从略。

一组恒等式

综合以上所述各项内容,我们可得到斯特林反演的一些卷积公式。

命题 \(\bf 6\)

\[\begin{aligned} \binom{n}{m}&=\sum_{k=0}^n\begin{Bmatrix}n+1\\k+1\end{Bmatrix}\begin{bmatrix}k\\m\end{bmatrix}(-1)^{m-k},\\ n^{\underline{n-m}}&=\sum_{k=0}^n\begin{bmatrix}n+1\\k+1\end{bmatrix}\begin{Bmatrix}k\\m\end{Bmatrix}(-1)^{m-k}. \end{aligned} \]

\(\blacktriangledown\) 证明

分别对命题 \(3\) 和命题 \(4\) 做转置版本的斯特林反演。

卷积公式

命题 \(\bf 7\)

\[\begin{aligned} \begin{Bmatrix}n\\l+m\end{Bmatrix}\binom{l+m}{l}&=\sum_{k=0}^n\binom{n}{k}\begin{Bmatrix}k\\l\end{Bmatrix}\begin{Bmatrix}n-k\\m\end{Bmatrix},\\ \begin{bmatrix}n\\l+m\end{bmatrix}\binom{l+m}{l}&=\sum_{k=0}^n\binom{n}{k}\begin{bmatrix}k\\l\end{bmatrix}\begin{bmatrix}n-k\\m\end{bmatrix}. \end{aligned} \]

\(\blacktriangledown\) 证明

左端是将 \(n\) 个数分为 \(l+m\) 个子集/轮换,再将其分为两组的方案数;右端则是将 \(n\) 个数分为两组,并分别划分出 \(l\) 个与 \(m\) 个子集/轮换的方案数。二者显然相等。

未解决卷积恒等式

\[\begin{aligned} \begin{Bmatrix}n\\n-m\end{Bmatrix}&=\sum_{k}\binom{m-n}{m+k}\binom{m+n}{m-k}\begin{bmatrix}m+k\\k\end{bmatrix},\\ \begin{bmatrix}n\\n-m\end{bmatrix}&=\sum_{k}\binom{m-n}{m+k}\binom{m+n}{m-k}\begin{Bmatrix}m+k\\k\end{Bmatrix}. \end{aligned} \]

总结

我们有如下附加恒等式:

\[\begin{aligned} m!\begin{Bmatrix}n\\m\end{Bmatrix}&=\sum_{k=0}^m\binom{m}{k}k^n(-1)^{m-k},\\ \begin{Bmatrix}n+1\\m+1\end{Bmatrix}&=\sum_{k=0}^n\binom{n}{k}\begin{Bmatrix}k\\m\end{Bmatrix}=\sum_{k=0}^n\binom{n}{k}\begin{Bmatrix}n-k\\m\end{Bmatrix},\\ \begin{Bmatrix}n\\m\end{Bmatrix}&=\sum_{k=m}^n(-1)^{n-k}\binom{n}{k}\begin{Bmatrix}k+1\\m+1\end{Bmatrix},\\ \begin{bmatrix}n+1\\m+1\end{bmatrix}&=\sum_{k=0}^n\begin{bmatrix}n\\k\end{bmatrix}\binom{k}{m},\\ \begin{bmatrix}n\\m\end{bmatrix}&=\sum_{k=m}^n(-1)^{m-k}\begin{bmatrix}n+1\\k+1\end{bmatrix}\binom{k}{m},\\ \begin{Bmatrix}n+1\\m+1\end{Bmatrix}&=\sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}(m+1)^{n-k},\\ \begin{Bmatrix}n+1\\m+1\end{Bmatrix}&=\sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}n^{\underline{n-k}}=n!\sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}\frac{1}{k!},\\ \begin{Bmatrix}m+n+1\\m\end{Bmatrix}&=\sum_{k=0}^mk\begin{Bmatrix}n+k\\k\end{Bmatrix},\\ \begin{bmatrix}m+n+1\\m\end{bmatrix}&=\sum_{k=0}^m(n+k)\begin{bmatrix}n+k\\k\end{bmatrix},\\ F(m)&=\sum_{k=0}^{n}\begin{Bmatrix}k\\m\end{Bmatrix}G(k)\iff G(m)=\sum_{k=0}^n(-1)^{k-m}\begin{bmatrix}k\\m\end{bmatrix}F(k),\\ F(m)&=\sum_{k=0}^{n}\begin{bmatrix}k\\m\end{bmatrix}G(k)\iff G(n)=\sum_{k=0}^n(-1)^{k-m}\begin{Bmatrix}k\\m\end{Bmatrix}F(k),\\ \binom{n}{m}&=\sum_{k=0}^n\begin{Bmatrix}n+1\\k+1\end{Bmatrix}\begin{bmatrix}k\\m\end{bmatrix}(-1)^{m-k},\\ n^{\underline{n-m}}&=\sum_{k=0}^n\begin{bmatrix}n+1\\k+1\end{bmatrix}\begin{Bmatrix}k\\m\end{Bmatrix}(-1)^{m-k},\\ \begin{Bmatrix}n\\l+m\end{Bmatrix}\binom{l+m}{l}&=\sum_{k=0}^n\binom{n}{k}\begin{Bmatrix}k\\l\end{Bmatrix}\begin{Bmatrix}n-k\\m\end{Bmatrix},\\ \begin{bmatrix}n\\l+m\end{bmatrix}\binom{l+m}{l}&=\sum_{k=0}^n\binom{n}{k}\begin{bmatrix}k\\l\end{bmatrix}\begin{bmatrix}n-k\\m\end{bmatrix},\\ \begin{Bmatrix}n\\n-m\end{Bmatrix}&=\sum_{k}\binom{m-n}{m+k}\binom{m+n}{m-k}\begin{bmatrix}m+k\\k\end{bmatrix},\\ \begin{bmatrix}n\\n-m\end{bmatrix}&=\sum_{k}\binom{m-n}{m+k}\binom{m+n}{m-k}\begin{Bmatrix}m+k\\k\end{Bmatrix}. \end{aligned} \]


生成函数

下面将考虑两类斯特林数的生成函数。基本地,我们有

\[\begin{aligned} (e^z-1)^m&=m!\sum_{n=0}^{\infty}\begin{Bmatrix}n\\m\end{Bmatrix}\frac{z^n}{n!},\\ (-\log(1-z))^m&=m!\sum_{n=0}^{\infty}\begin{bmatrix}n\\m\end{bmatrix}\frac{z^n}{n!}, \end{aligned} \]

以及

\[\begin{aligned} z^{\overline{m}}&=\sum_{n=0}^{\infty}\begin{bmatrix}m\\n\end{bmatrix}z^n,\\ \left(z^{-1}\right)^{\overline{-m}}&=\frac{z^m}{(1-z)(1-2z)\cdots(1-mz)}=\sum_{n=0}^{\infty}\begin{Bmatrix}m\\n\end{Bmatrix}z^n. \end{aligned} \]

由此可衍生出更多有关斯特林数的 GF 与 BGF(二元生成函数)。

首先,联系幂转换公式,即第一类斯特林数关于行的 OGF,我们可得如下结论。

命题 \(\bf 7\)

\[\frac{1}{(1-z)^t}=\sum_{n,m\geq 0}\begin{bmatrix}n\\m\end{bmatrix}t^m\frac{z^n}{n!}. \]

\(\blacktriangledown\) 证明

\[\begin{aligned} (1-z)^{-t}&=\sum_{n=0}^{\infty}\binom{t+n-1}{n}z^n\\ &=\sum_{n=0}^{\infty}\left(\prod_{i=0}^{n-1}(t+i)\right)\frac{z^n}{n!}=\sum_{n=0}^{\infty}t^{\overline{n}}\frac{z^n}{n!}\\ &=\sum_{n=0}^{\infty}\sum_{k=0}^{n}{n\brack k}t^k\frac{z^n}{n!}. \end{aligned}\]

算法

斯特林数·列

根据二者的生成函数,可对于特定的 \(m\),在 \(\text O(n\log n)\) 的时间复杂度内求出 \(\begin{bmatrix}k\\m\end{bmatrix}\)\(\begin{Bmatrix}k\\m\end{Bmatrix}\)\(\forall k\leq n\)

code(第一类·列)
for(ll i=1;i<=n;i++)f[i]=inv[i];
Pow(f,g,n+1,m);
for(ll i=0;i<=n;i++)
	printf("%lld ",g[i]*jc[i]%mod*jcinv[m]%mod);
code(第二类·列)
for(ll i=1;i<=n;i++)f[i]=jcinv[i];
Pow(f,g,n+1,m);
for(ll i=0;i<=n;i++)
	printf("%lld ",g[i]*jc[i]%mod*jcinv[m]%mod);
例题

第二类行的和

对于给定的 \(n\)\(\forall m\leq n\) 求出

\[\mathit{Bel}_m:=\sum_{k=0}^n\begin{Bmatrix}m\\k\end{Bmatrix}. \]

其组合意义为“非空子集划分”,对应 \(\rm Bell\) 数。我们有将一个集合划分为一个非空集合的 EGF 为 \(e^z-1\),故其 EGF 是

\[\exp(e^z-1). \]

可在 \(\text O(n\log n)\) 时间复杂度内求出。

第一类行的和

组合意义,\(\sum_{k=0}^n\begin{bmatrix}m\\k\end{bmatrix}=m!\)

第一类行的部分和

对于给定的 \(r\)\(n\leq N\) 求出

\[\sum_{k=0}^r\begin{bmatrix}n\\k\end{bmatrix}. \]

我们知道

\[\begin{aligned} \frac{1}{s!}(-\log(1-z))^s&=\sum_{n=0}^{\infty}\begin{bmatrix}n\\s\end{bmatrix}\frac{z^n}{n!},\\ \sum_{s=0}^r\frac{(-\log(1-z))^s}{s!}&=\sum_{n=0}^{\infty}\left(\sum_{k=0}^r\begin{bmatrix}n\\k\end{bmatrix}\right)\frac{z^n}{n!}. \end{aligned} \]

多项式复合即可解决。

第二类行的部分和

同上,求复合 \(\sum_{s=0}^r(e^z-1)/s!\) 即可。

第二类列的部分和

对于给定的 \(n\)\(\forall m\leq n\) 求出

\[\sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}. \]

考虑将第二类斯特林数的通项代入,有

\[\begin{aligned} \sum_{k=0}^n\begin{Bmatrix}k\\m\end{Bmatrix}&=\sum_{k=0}^n\frac{1}{m!}\sum_{i=0}^m\binom{m}{i}i^k(-1)^{m-i}\\ &=\sum_{i=0}^m\frac{1}{i!}\frac{(-1)^{m-i}}{(m-i)!}\sum_{k=0}^ni^k\\ &=\sum_{i=0}^m\frac{1-i^{n+1}}{i!(1-i)}\frac{(-1)^{m-i}}{(m-i)!}, \end{aligned} \]

则一次卷积可在 \(\text O(n\log n)\) 时间内求出。

code($\text O(n\log n)$)
for(ll i=0,x=1;i<=n;i++,x=-x)
	f[i]=(mod+1-Qpow(i,n+1))*Qpow(jc[i]*(mod+1-i)%mod,mod-2)%mod,
	g[i]=(jcinv[i]*x+mod)%mod;
f[1]=n+1,Mul(f,g,h,n+1,n+1);
for(ll i=0;i<=n;i++)printf("%lld ",h[i]);
例题
posted @ 2024-07-11 21:38  Gorenstein  阅读(119)  评论(0)    收藏  举报