[联合省选 2020A]组合数问题 题解

时间:2021-02-20 12:30:43   收藏:0   阅读:0

前言

这题算是我斯特林数的入门题,顺便安利大佬的博客,我是从这篇博客中学的斯特林数。

前置知识:

题解

\[\begin{aligned}\sum_{k=0}^n f(k) \times x^k \times \dbinom n k&=\sum_{k=0}^n{\left(\sum_{i=0}^m{a_ik^i} \right)x^k\dbinom nk}\texttt{$\big($由定义$\big)$}\\ & = \sum_{k=0}^n{\left(\sum_{i=0}^m{a_i\sum_{j=0}^i{\begin{Bmatrix}i\\j\end{Bmatrix}k^{\underline{j}}}} \right) x^k\dbinom nk}\texttt{$\big($由$\,(4)\big)$}\\&=\sum_{k=0}^n{\left(\sum_{j=0}^m{k^{\underline{j}}\sum_{i=0}^j{a_i\begin{Bmatrix}i\\j\end{Bmatrix}}} \right)x^k\dbinom nk}\texttt{$\big($交换求和顺序$\big)$}\\&=\sum_{j=0}^m{q_j}\sum_{k=j}^n{x^kk^{\underline{j}}\dbinom nk}\texttt{$\bigg($记$\,q_j=\sum_{i=0}^j{a_i}\begin{Bmatrix}i\\j\end{Bmatrix}\bigg)$}\\&=\sum_{j=0}^m{q_j\sum_{k=j}^n{x^k}n^{\underline{j}}\dbinom {n-j}{k-j}}\texttt{$\big($由$\,(8)\big)$}\\&=\sum_{j=0}^m{q_jx^{j}n^{\underline{j}}\sum_{k=0}^{n-j}{x^k\dbinom {n-j}{k}}}\texttt{$\big($提取公因式$\big)$}\\&=\sum_{j=0}^m{q_jx^jn^{\underline{j}}(x+1)^{n-j}}\texttt{$\big($由$(1)\big)$} \end{aligned} \]

显然 \(\{q_j\}\) 可以在 \(O(m^2)\) 的时间内预处理出来,剩下的直接套上面的式子就可以 \(O(m\log n)\) 计算。

时间复杂度为 \(O(m^2+m\log n)\),空间复杂度为 \(O(m^2)\)

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!