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)\) 求伯努利数的方法。
浙公网安备 33010602011771号