ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

伯努利数

2021-09-05 09:31:39  阅读:263  来源: 互联网

标签:infty begin end sum frac aligned 伯努利


定义&求解

设数列 \(B_{n}\) 为伯努利数,满足一下性质:

\[\begin{aligned} B_{0}&=1\\ \sum^{n}_{i=0}\binom{n+1}{i}B_{i}&=0\\ \end{aligned} \]

在 OI 中一般用这个来求 \(k\) 次方前缀和。

显然有一个 \(O(n^2)\) 的递推式:

\[\begin{aligned} \binom{n+1}{n}B_{n}&=-\sum^{n-1}_{i=0}\binom{n+1}{i}B_{i}\\ B_{n}&=\frac{-\sum^{n-1}_{i=0}\binom{n+1}{i}B_{i}}{n+1} \end{aligned} \]

实际上,可以利用生成函数来做到 \(O(n\log n)\)。

\[\begin{aligned} \sum^{n-1}_{i=0}\binom{n}{i}B_{i}&=0\\ \sum^{n}_{i=0}\binom{n}{i}B_{i}&=B_{n}\\ \sum^{n}_{i=0}\frac{n!}{i!(n-i)!}B_{i}&=B_{n}\\ \sum^{n}_{i=0}\frac{B_{i}}{i!(n-i)!}&=\frac{B_{n}}{n!}\\ \end{aligned} \]

如果我们令 \(B(x)\) 为其指数生成函数,那么可以发现左边实际上是卷上了一个 \(e^x\) 。

但是上面这个式子只当 \(n>1\) 的时候才成立,所以要手动修正 \(B_{0},B_{1}\) 的系数。

\[\begin{aligned} B(x)&=e^xB(x)-x\\ B(x)&=\frac{x}{e^x-1}\\ \end{aligned} \]

直接套上一个多项式求逆就可以 \(O(n\log n)\) 的复杂度求出 \(B\) 了。

简单应用

求 \(S_{k}(n)=\sum^{n}_{i=1}i^k\) 。

我们令 \(F(x)\) 为 \(S(n)\) 的指数生成函数。

\[\begin{aligned} F(x)&=\sum^{+\infty}_{i=0}\frac{x^iS_{i}(n)}{i!}\\ &=\sum^{+\infty}_{i=0}\frac{x^i\sum^{n}_{j=1}j^i}{i!}\\ &=\sum^{n}_{j=0}\sum^{+\infty}_{i=0}\frac{x^ij^i}{i!}\\ &=\sum^{n}_{j=1}e^{ix}\\ &=\frac{e^{(n+1)x}-e^x}{e^x-1}\\ &=\frac{B(x)e^x}{x}(e^{nx}-1)\\ &=\frac{B(x)e^x}{x}(-1+\sum^{+\infty}_{i=0}\frac{n^ix^i}{i!})\\ &=\frac{B(x)+x}{x}(-1+\sum^{+\infty}_{i=0}\frac{n^ix^i}{i!})\\ \end{aligned} \]

为了方便,我们定义 \(B'(x)=B(x)+x\) 。

\[\begin{aligned} &\frac{B'(x)}{x}(-1+\sum^{+\infty}_{i=0}\frac{n^ix^i}{i!})\\ &=B'(x)\sum^{+\infty}_{i=0}\frac{n^{i+1}x^i}{(i+1)!}\\ \end{aligned} \]

对于只要求第 \(k\) 项的时候,可以暴力卷积。

\[\begin{aligned} S_{k}(n)&=\sum^{k}_{i=0}\frac{B'_{i}n^{k-i+1}}{(k-i+1)!i!}\\ &=\frac{1}{(k+1)!}\sum^{k}_{i=0}\binom{k+1}{i}B'_{i}n^{k-i+1}\\ \end{aligned} \]

至此,可以做到 \(O(k)\) 求出单项的值。 虽然有不用脑子,且复杂度差不多的插值法

标签:infty,begin,end,sum,frac,aligned,伯努利
来源: https://www.cnblogs.com/Guts/p/15228657.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有