第一、二类斯特林数与斯特林反演

Alioth_

2019-06-22 08:47:57

Personal

两个递推的初始条件都是$S(0,0)=1$ ## 第一类斯特林数 把$n$个**不同**元素分成$m$个**相同**环排列的方案数 ### 递推求法 $$ \begin{bmatrix}n\\m\end{bmatrix}=\begin{bmatrix}n-1\\m-1\end{bmatrix}+(n-1)\times \begin{bmatrix}n-1\\m\end{bmatrix} $$ ### 快速求一行 有这个式子 $$ x^{\underline{n}}=\sum_{i=0}^n(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}x^i $$ 和这个式子 $$ x^{\overline{n}}=\sum_{i=0}^n \begin{bmatrix}n\\i\end{bmatrix}x^i $$ 然后就可以直接分治$NTT$求了 ### 一个重要式子 $$ n!=\sum_{i=0}^{n}\begin{bmatrix}n\\i\end{bmatrix} $$ 就是把置换分解成环 ## 第二类斯特林数 把$n$个**不同**元素分成$m$个**相同**集合的方案数 ### 递推求法 $$ \begin {Bmatrix} n \\ m\end {Bmatrix}=\begin {Bmatrix} n-1 \\ m-1\end {Bmatrix}+m\begin {Bmatrix} n-1 \\ m\end {Bmatrix} $$ ### 快速求一行 $$ \sum_{i=0}^n\begin {Bmatrix} n \\ i\end {Bmatrix}x^i=e^{-x}\sum_{i=0}^{n}\frac{i^n}{i!}x^i $$ 直接卷积就行了 ### 一个重要式子 可以普通多项式转下降幂多项式 $$ n^m=\sum_{i=0}^{m}\begin {Bmatrix} m \\ i\end {Bmatrix}i!\binom{n}{i}=\sum_{i=0}^{m}\begin {Bmatrix} m \\ i\end {Bmatrix}n^{\underline i} $$ 下降幂多项式一个重要的公式 $$ \color{red}{\binom{n}{k}k^{\underline{m}}=\binom{n-m}{k-m}n^{\underline m}} $$ ### 另一个重要式子 $$ \begin {Bmatrix} n \\ m\end {Bmatrix}=\frac{1}{m!}\sum_{i=0}^m(-1)^{m-i}\binom{m}{i}i^n $$ 即容斥 考虑分成$i$个集合的方案 ## 斯特林反演 $$ 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) $$ $$ f(n)=\sum_{k=n}^\infty \begin {Bmatrix} k \\ n\end {Bmatrix}g(k)\Longleftrightarrow g(n)=\sum_{k=n}^\infty(-1)^{k-n}\begin{bmatrix}k\\n\end{bmatrix}f(k) $$ ### 雅礼集训[方阵] 给出一个$(n×m)$大小的矩形,每个位置可以填上$[1,c]$中的任意一个数,要求填好后任意两行互不等价且任意两列互不等价,两行或两列等价当且仅当对应位置完全相同,求方案数 首先考虑只有行不相同的答案 是$g(m)=(c^m)^{\underline{n}}$ 然后设答案为$f(m)$表示$m$列行列互不相等的答案 那么考虑枚举$g$的列有$i$个等价类 $$ g(m)=\sum_{i=0}^{m}\begin {Bmatrix} m \\ i\end {Bmatrix}f(i) $$ 根据斯特林反演 得到 $$ f(m)=\sum_{i=0}^m(-1)^{m-i}\begin{bmatrix}m\\i\end{bmatrix}g(i) $$