快速求斯特林数总结(洛谷模板题解)
題目鏈接
第一類斯特林數·行
第一類斯特林數·列
第二類斯特林數·行
第二類斯特林數·列
求一行第一類斯特林數
由第一類斯特林數的推論,\(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 即可。
轉載于:https://www.cnblogs.com/bestwyj/p/11178659.html
總結
以上是生活随笔為你收集整理的快速求斯特林数总结(洛谷模板题解)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 女性不孕名医
- 下一篇: Firefox 的User Agent
