斯特林数总结_快速幂 斯特林数小结
1. 第一类斯特林数

第一类斯特林数 \(\begin{bmatrix} n \\ m \end{bmatrix}\) 表示将 \(n\) 个两两不同的元素划分为 \(m\) 个圆排列的方案数。
有递推式 \(\begin{bmatrix} n \\ m \end{bmatrix}=\begin{bmatrix} n-1 \\ m-1 \end{bmatrix}+\begin{bmatrix} n-1 \\ m \end{bmatrix}*(n-1)\)

第一类斯特林数·行

给定 \(n\),对于 \(i \in [0,n]\) ,求出 \(\begin{bmatrix} n \\ i \end{bmatrix}\)
设第 \(n\) 行第一类斯特林数的 OGF 为 \(f_n\) 。有 \(f_n=f_{n-1}*(x+n-1)=x^{\overline{n}}\) 。倍增 或者 分治NTT 求解即可。

第一类斯特林数·列

给定 \(n , m\),对于 \(i \in [0,n]\) ,求出 \(\begin{bmatrix}i\\m\end{bmatrix}\)
设第一列第一类斯特林数的 EGF 为 \(f\),则 \(f=\sum\limits_{i=1}\dfrac{(i-1)!}{i!}x^i=\sum\limits_{i=1}\dfrac{x^i}{i}\)
由于 \(f_m\) 可以看做 \(m\) 个圆排列组合在一起,故有 \(f_m=f^m\) 。多项式快速幂即可。

2. 第二类斯特林数

第二类斯特林数 \(\begin{Bmatrix}n\\m\end{Bmatrix}\) 表示将 \(n\) 个两两不同的元素划分为 \(m\) 个集合的方案数。
有递推式 \(\begin{Bmatrix}n\\m\end{Bmatrix}=\begin{Bmatrix}n-1\\m-1\end{Bmatrix}+\begin{Bmatrix}n-1\\m\end{Bmatrix}*m\)
同时,第二类斯特林数有另外的性质:\(m^n=\sum\limits_{i=0}^{m}\begin{pmatrix}m\\i\end{pmatrix}\begin{Bmatrix}n\\i\end{Bmatrix}i!=\sum\limits_{i=0}^{m}\begin{Bmatrix}n\\i\end{Bmatrix}\dfrac{m!}{(m-i)!}=\sum\limits_{i=0}^{n}\begin{Bmatrix}n\\i\end{Bmatrix}m^{\underline{i}}\)
由二项式反演得到 \(\begin{Bmatrix}n\\m\end{Bmatrix}=\dfrac{1}{m!}\sum\limits_{i=0}^{m}(-1)^{m-i}\begin{pmatrix}m\\i\end{pmatrix}i^n=\sum\limits_{i=0}^{m}\dfrac{(-1)^{m-i}i^n}{(m-i)!i!}\)

第二类斯特林数·行

给定 \(n\),对于 \(i \in [0,n]\) ,求出 \(\begin{Bmatrix} n \\ i \end{Bmatrix}\)
设第 \(n\) 行第一类斯特林数的 OGF 为 \(F_n\)\(f=\sum\limits_{i=0}\dfrac{(-1)^i}{i!}x^i\)\(g=\sum\limits_{i=0}\dfrac{i^n}{i!}x^i\) 。由上述性质可知 \(F_n=f*g\)

第二类斯特林数·列

给定 \(n , m\),对于 \(i \in [0,n]\) ,求出 \(\begin{Bmatrix}i\\m\end{Bmatrix}\)
设第一列第一类斯特林数的 EGF 为 \(f\),则 \(f=\sum\limits_{i=1}\dfrac{x^i}{i!}\)
由于 \(f_m\) 可以看做 \(m\) 个集合组合在一起,故有 \(f_m=f^m\) 。多项式快速幂即可。

3. 斯特林反演

\(f(n)=\sum\limits_{i=0}^n\begin{bmatrix}n\\i\end{bmatrix}g(i) \iff g(n)=\sum\limits_{i=0}^n(-1)^{n-i}\begin{Bmatrix}n\\i\end{Bmatrix}g(i) \\ f(n)=\sum\limits_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}g(i) \iff g(n)=\sum\limits_{i=0}^n(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}g(i) \\ f(n)=\sum\limits_{i=n}\begin{bmatrix}i\\n\end{bmatrix}g(i) \iff g(n)=\sum\limits_{i=n}(-1)^{i-n}\begin{Bmatrix}i\\n\end{Bmatrix}g(i) \\ f(n)=\sum\limits_{i=n}\begin{Bmatrix}i\\n\end{Bmatrix}g(i) \iff g(n)=\sum\limits_{i=n}(-1)^{i-n}\begin{bmatrix}i\\n\end{bmatrix}g(i)\)

4. 普通幂与上升幂下降幂的转化

\(x^n=\sum\limits^n_{i=0}\begin{Bmatrix}n\\i\end{Bmatrix}x^{\underline{i}}\iff x^{\underline{i}}=\sum\limits^n_{i=0}(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}x^n \\x^{\overline{n}}=\sum\limits^{n}_{i=0}\begin{bmatrix}n\\i\end{bmatrix}x^i\iff x^i=\sum\limits^{n}_{i=0}(-1)^{n-i}\begin{Bmatrix}n\\i\end{Bmatrix}x^{\overline{n}}\)