对于给定序列 ({a_1, a_2, a_3, cdots, a_n}) ,要求计算 (displaystyle s(n, k)=sum_{i=1}^n a_i^k)
【分析】
考虑 (s_n[k]) 的 EGF :
(egin{aligned} hat S_n(x)&=sum_{t=0}^infty s(n, t)cdot {x^tover t!} \\&=sum_{t=0}^infty sum_{i=1}^n a_i^t cdot {x^tover t!} \\&=sum_{i=1}^n sum_{t=0}^infty {(a_ix)^tover t!} \\&=sum_{i=1}^n e^{a_ix} end{aligned})
从而解得 (displaystyle s_n[k]=k!cdot hat S_n[k]=k!cdot sum_{i=1}^n e^{a_ix}[k])
【应用】
自然数幂次求和:
(displaystyle hat S_n(x)=sum_{i=1}^n e^{ix}={e^{(n+1)x}-1over e^x-1}={displaystyle ({e^{(n+1)x}-1over x})over displaystyle ({e^x-1over x})}={P(x)over Q(x)})
下面的 (Q(x)) 求逆后化为 (R(x)) ,再与上面的 (P(x)) 乘积即为 (hat S_n(x))
而若只是求解 (hat S_n[k]) 则可先预处理 (R(x)) ,而后通过 (displaystyle hat S_n[k]=sum_{i+j=k}P[i]R[j]) 可 (O(k)) 求解