CF622F The Sum of the k-th Powers 题解

观前提示

本题解仅提供一个理论复杂度正确的解法,因为本题模数为 \(10^9+7\),没有优秀 \(\text{MTT}\) 板子的我被卡常了。


正文部分

不妨设 \(S_{n,m}=\sum_{i=0}^{n-1}i^m\),答案就是 \(S_{n+1,k}\)

再设:

\[ \begin{aligned} F(x) &= \sum_{i \geq 0} f_i x^i \\ &= \sum_{i \geq 0} \frac{S_{n,m}x^i}{i!} \\ &= \sum_{i \geq 0} \sum_{j=0}^{n-1} \frac{(jx)^i}{i!} \\ &= \sum_{j=0}^{n-1} \sum_{i \geq 0} \frac{(jx)^i}{i!} \\ &= \sum_{i=0}^{n-1}e^{ix} \\ &= \frac{e^{nx}-1}{e^x-1} \\ &= \frac{x}{e^x-1} \cdot \frac{e^{nx}-1}{x} \end{aligned} \]

继续设:

\[ \begin{aligned} G(x) &= \sum_{i \geq 0} \frac{g_ix^i}{i!}=\frac{x}{e^x-1} \\ F(x) &= G(x) \cdot \frac{e^{nx}-1}{x} \\ &= (\sum_{i \geq 0} \frac{g_ix^i}{i!}) \cdot (\sum_{i \geq 1}\frac{n^ix^{i-1}}{i!}) \\ &= (\sum_{i \geq 0} \frac{g_ix^i}{i!}) \cdot (\sum_{i \geq 0}\frac{n^{i+1}x^i}{(i+1)!}) \\ S_{n,m} &= m!f_m \\ &= m! \sum_{i=0}^m \frac{g_i}{i!} \cdot \frac{n^{m-i+1}}{(m-i+1)!} \\ &= \frac{1}{m+1}\sum_{i=0}^m \binom{m+1}{i}g_in^{m-i+1} \end{aligned} \]

又有 \(\large G(x)=\frac{x}{e^x-1}=(\frac{e^x-1}{x})^{-1}=(\sum_{i \geq 0}\frac{x^i}{(i+1)!})^{-1}\),用 \(\text{MTT}\) 求逆即可在 \(\mathcal{O}(k \log k)\) 的时间复杂度内得到 \(g_i\),进而求出 \(S_{n+1,k}\)


关于 \(G(x)\)

\(g_i\) 求出来后,一个不搞 \(\text{OI}\) 的同学一眼认出这个数列就是伯努利数。

所以 \(G(x)\) 即为伯努利数的 \(\text{EGF}\),上面的解法也是 \(\mathcal{O}(n \log n)\) 求伯努利数的方法。

posted @ 2023-01-19 20:37  jzcrq  阅读(20)  评论(0编辑  收藏  举报