第二類斯特林數小記
阿新 • • 發佈:2021-09-06
第一類斯特林數沒弄懂,先咕了。
對於第二類斯特林數記做 \(\begin{Bmatrix}n\\ m\end{Bmatrix}\),也可記做 \(S(n,m)\),表示將 \(n\) 個兩兩不同的元素,劃分到 \(m\) 個互不區分的非空集合的方案數。
遞推式
\[\begin{Bmatrix}n\\ m\end{Bmatrix}=\begin{Bmatrix}n-1\\ m-1\end{Bmatrix}+\begin{Bmatrix}n-1\\ m\end{Bmatrix} \]邊界是 \(\begin{Bmatrix}n\\ 0\end{Bmatrix}=[n=0]\)
證明:
新插入一個元素時,有兩種方案:
- 將新元素放進一個新集合裡,方案數為 \(\begin{Bmatrix}n-1\\ m-1\end{Bmatrix}\)
- 將新元素放進一個原來有的集合裡,方案數為 \(m×\begin{Bmatrix}n-1\\ m\end{Bmatrix}\)
最後用加法原理相加即可。
通項公式
\(\begin{Bmatrix}n\\ m\end{Bmatrix}=\frac{1}{m!}\sum_{i=0}^m(-1)^{m-i}\tbinom{m}{i}i^n\)
簡單理解就是每次欽定有多少個集合有元素,再容斥一下解決,最後因為無序,再除以個 \(\frac{1}{m!}\)。
證明:
證明採取二項式反演,設 \(f(i)\)
易得
\[f(i)=i^n\\ f(i)=\sum_{j=0}^i\tbinom{i}{j}g(j) \]那麼反演一下:
\[g(i)=\sum_{j=0}^i(-1)^{i-j}\tbinom{i}{j}f(j)\\ g(i)=\sum_{j=0}^i(-1)^{i-j}\tbinom{i}{j}j^n \]根據定義可得 \(\frac{1}{m!}g(m)=\begin{Bmatrix}n\\ m\end{Bmatrix}\)
那麼更常用的一種寫法是
\[\begin{Bmatrix}n\\ i\end{Bmatrix}=\frac{1}{i!}\sum_{j=0}^i\frac{(-1)^{i-j}j^ni!}{j!(i-j)!}\\ \begin{Bmatrix}n\\ i\end{Bmatrix}=\sum_{j=0}^i\frac{(-1)^{i-j}j^n}{j!(i-j)!} \]一種技巧就是設 \(f_i=\frac{(-1)^i}{i!}\),\(g_i=\frac{i^n}{i!}\),然後
\[\begin{Bmatrix}n\\ m\end{Bmatrix}=\sum_{i=0}^mf_i*g_{m-i} \]\(NTT\) 優化一下。