1.定义式
定义伯努利数列\(B_n\)满足:
\[B_0=1,\sum_{i=0}^n{n+1\choose i}B_i=0(n>0) \]
2.递推式
可以发现定义式里面包含了\(B_n\)这一项,于是把\(B_n\)提出来:
\[-{n+1\choose n}B_n=\sum_{i=0}^{n-1}{n+1\choose i}B_i \\-(n+1)B_n=\sum_{i=0}^{n-1}{n+1\choose i}B_i \\B_n=-\frac{1}{n+1}\sum_{i=0}^{n-1}{n+1\choose i}B_i \]
直接用定义式求是\(O(n^2)\)的复杂度
3.生成函数
把定义式的循环上界减一,得:
\[\sum_{i=0}^{n-1}{n\choose i}B_i=0 \]
注意到组合数上标变成了\(n\),再加个\(B_n\):
\[\sum_{i=0}^{n-1}{n\choose i}B_i+B_n=B_n \\\sum_{i=0}^{n-1}{n\choose i}B_i+{n\choose n}B_n=B_n \\\sum_{i=0}^{n}{n\choose i}B_i=B_n \]
组合数很烦,把它拆开来:
\[\sum_{i=0}^{n}\frac{n!}{i!(n-i)!}B_i=B_n \\\sum_{i=0}^n\frac{B_i}{i!}\frac{1}{(n-i)!}=\frac{B_n}{n!} \]
两边都写成生成函数的形式:
\[\sum_{n=0}(\sum_{i=0}^n\frac{B_i}{i!}\frac{1}{(n-i)!})x^n =\sum_{n=0}(\frac{B_n}{n!})x^n \]
设伯努利数的指数型生成函数为\(B(x)=\sum_{n=0}\frac{B_n}{n!}x^n\),那么左边显然就是\(B(x)e^x\),右边就是\(B(x)\)。
但是细想却不对劲,如果\(B(x)e^x=B(x)\),那么\(e^x=1\),显然不成立。注意到一开始把循环上标减了1,而根据定义,伯努利数定义式的\(n\)必须大于\(0\),所以上面的式子只有当\(n-1>0\)时成立。
于是考虑列出\(B(x)e^x\)的第\(0,1\)项:
\[[x^n]B(x)e^x=\sum_{i=0}^n\frac{B_i}{i!}\frac{1}{(n-i)!} \\