题目分析
给定\(n(n\le10^9),k(k\le 5000)\),求:
\[ \sum\limits_{i=0}^n\binom{n}{i}\cdot i^k \]
利用第二类斯特林数对\(i^k\)进行化简。
\[ \begin{aligned} ans&=\sum_{i=0}^n\binom{n}{i}i^k\\ &=\sum_{i=0}^n\binom{n}{i}\sum_{j=0}^i\binom{i}{j}\begin{Bmatrix}k\\j\end{Bmatrix}j!\\ &=\sum_{j=0}^n\sum_{i=j}^n\binom{n}{i}\binom{i}{j}\begin{Bmatrix}k\\j\end{Bmatrix}j!\\ &=\sum_{j=0}^n\binom{n}{j}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum_{i=j}^n\binom{n-j}{n-i}\\ &=\sum_{j=0}^n\binom{n}{j}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum_{i=0}^{n-j}\binom{n-j}{i}\\ &=\sum_{j=0}^n\binom{n}{j}\begin{Bmatrix}k\\j\end{Bmatrix}j!\cdot2^{n-j}\\ &=\sum_{j=0}^k\binom{n}{j}\begin{Bmatrix}k\\j\end{Bmatrix}j!\cdot2^{n-j} \end{aligned} \]
\(O(k^2)\)递推或者\(O(klogk)\)NTT算出斯特林数后,就可以直接计算答案了。