CodeChefSeries Sum (坑着)(伯努利数)

题面

传送门

题解

先扔着,有空再看吧

题解

首先,对\(f(x,k)\),有

\[ \begin{aligned} f(x,k) &=\sum_{i=1}^n(x+a_i)^k\\ &=\sum_{i=1}^n\sum_{j=0}^k{k\choose j}x^j{a_i}^{k-j}\\ &=\sum_{j=0}^k{k\choose j}x^j\sum_{i=1}^n{a_i}^{k-j}\\ \end{aligned} \]

然后对\(g(t,k)\),有

\[ g(t,k)=\sum_{x=0}^t\sum_{j=0}^k{k\choose j}x^j\sum_{i=1}^n{a_i}^{k-j} \]

写成卷积形式

\[ {g(t,k)\over k!}=\sum_{j=0}^k{\sum_{x=0}^tx^j\over j!}{\sum_{i=1}^n{a_i}^{k-j}\over (k-j)!} \]

我们需要求出\(G(x)\)的第\(k\)项的系数乘上\(k!\)就是题目中所说的\(g(T,k)\)的答案

所以我们现在需要快速求出后面两个多项式的系数

左边

令第一个多项式为\(F(z)\),则有

\[ \begin{aligned} F(z)=\sum_{i=0}^\infty z^i{\sum_{k=0}^tk^i\over i!} \end{aligned} \]

后面是一个自然数幂和的形式,把它化成伯努利数的形式,有

\[ \begin{aligned} \sum_{k=0}^tk^i &=t^i+{1\over i+1}\sum_{k=0}^i{i+1\choose k}B_kt^{k+1-i}\\ &={1\over 2}t^i+{t^{i+1}\over i+1}+{1\over i+1}\sum_{k=2}^i{i+1\choose k}B_kt^{k+1-i}\\ &={1\over 2}t^i+{t^{i+1}\over i+1}+i!\sum_{k=2}^i{B_k\over k!}{t^{k+1-i}\over (k+1-i)!}\\ \end{aligned} \]

把后面那个多项式系数求出来,我们就能\(O(n)\)求得\(F(z)\)每一项的系数了

对于后面那个多项式,也可以看成一个卷积的形式,只要注意因为没有\(B_0\)\(B_1\)的贡献,所以要把新的多项式里这两项的值设为\(0\)

右边

令第二个多项式为\(H(z)\),有

\[ \begin{aligned} H(z)=\sum_{i=0}^\infty z^i{\sum_{k=1}^n{a_k}^i\over i!} \end{aligned} \]

然后发现\(\sum_{k=1}^n{a_k}^i\)很难计算,考虑怎么化简

首先,众所周知\({1\over 1-x}=1+x+x^2+...\)

以及\({1\over 1-ax}=1+ax+a^2x^2+...\)

那么有

\[ \begin{aligned} \sum_{i=1}^n{1\over 1-a_ix}=(1+1+1+1+...)+(\sum_{i=1}^n{a_i})x+(\sum_{i=1}^n{a_i}^2)x^2+... \end{aligned} \]

所以可以转为求左边那个多项式的系数,对于左边的系数……我好像算不来了……坑着吧……

猜你喜欢

转载自www.cnblogs.com/bztMinamoto/p/10539897.html