今天刚学了怎么求。
这个东西是伯努力打表的时候发现的。
他打自然数幂和的表。
也就是$f_d(n)=sumlimits_{i=0}^{n}i^d$
发现如果转化成关于$n$的多项式,系数存在规律。
也就是:
$$f_d(n)=frac{1}{d+1}sumlimits_{i=0}^{m}inom{m+1}{i}B_i n^{m+1-i}$$
然后根据这个东西可以推出(太难推了不写了):
$$sumlimits_{i=0}^{n}B_iinom{n+1}{i}=0 (n>0)$$
怎么求?
$$sumlimits_{i=0}^{n-1}B_iinom{n}{i}=0 (n>1)$$
$$sumlimits_{i=0}^{n}B_iinom{n}{i}=B_n$$
也就是说:
$$sumlimits_{i=0}^{n}frac{B_i}{i!(n-i)!}=frac{B_n}{n!}$$
构造指数生成函数:
$$F(x)=sumlimits_{i=0}^{n}frac{B_i}{i!}x^i$$
我们知道:
$$e^x=sumlimits_{i=0}^{n}frac{x^i}{i!}$$
那么:
$$F(x)*(e^x)=F(x)+x$$
因为$n=1$的时候两边正好差了1,所以差了一个$x$。
那么:
$$F(x)=left(frac{e^x-1}{x} ight)^{-1}$$
这样多项式求逆之接搞就$O(nlogn)$了。
事实上伯努利数有两种。
分别是$B^{+}$和$B^{-}$
$B^{+}$用来求$sumlimits_{i=0}^{n-1}i^d$。
而$B^{-}$用来求$sumlimits_{i=1}^{n}i^d$。
同时$B_i^{+}=(-1)^{i}B_i^{-}$,也就是说只有第一项是不一样的。