快速求斯特林數總結(洛谷模板題解)


題目鏈接

第一類斯特林數·行
第一類斯特林數·列
第二類斯特林數·行
第二類斯特林數·列

求一行第一類斯特林數

由第一類斯特林數的推論,\(x^{\overline{n}}=\sum_i\begin{bmatrix}n\\i\end{bmatrix}x^i\),分治FFT計算上升冪即可 \(O(nlog^2n)\)

求一列第一類斯特林數

由第一類斯特林數的定義,\(\begin{bmatrix}n\\m\end{bmatrix}\) 是把 \(N\) 個不同的球划分成 \(m\) 個無區別的圓排列的方案數。
而把 \(N\) 個球排成圓排列的方案數的EGF為 \(F(x)=\sum_{i=1}^\infty \frac{(i-1)!}{i!}x^i\),那么答案的EGF則為 \(\frac{F^m(x)}{m!}\),多項式快速冪即可。

求一行第二類斯特林數

考慮有 \(n\) 個球,染成 \(c\) 種不同顏色的方案數。

\[c ^ n = \sum_{i = 0} ^ c {c\choose i} * \begin{Bmatrix} n \\i \end{Bmatrix} * i! \]

二項式反演得

\[\begin{Bmatrix} n \\m \end{Bmatrix} * m! = \sum_{i = 0} ^ m (-1)^{m-i} * {m\choose i} * i^n \]

卷積即可 \(O(nlogn)\)

求一列第二類斯特林數

由第二類斯特林數的定義,\(\begin{Bmatrix}n\\m\end{Bmatrix}\) 是把 \(N\) 個不同的球划分成 \(m\) 個無區別的非空集合的方案數。
而把 \(N\) 個球組成非空集合的方案數的EGF為 \(F(x)=\sum_{i=1}^\infty \frac{x^i}{i!}=e^x-1\),那么答案的EGF則為 \(\frac{F^m(x)}{m!}\),多項式快速冪即可。

求一排貝爾數

由貝爾數的定義,\(Bell(n)\) 表示 \(n\) 個不同的球划分成若干個非空集合的方案數。
而把 \(N\) 個球組成非空集合的方案數的EGF為 \(F(x)=\sum_{i=1}^\infty \frac{x^i}{i!}=e^x-1\),根據集合與划分的關系,那么答案的EGF則為 \(e^{e^x-1}\),多項式 Exp 即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM