從伯努利數到自然數冪和

2022-05-30 18:54:13 字數 2068 閱讀 5263

伯努利數是定義在實數上的乙個數列,其在\(\rm oi\)中的用處大多都是處理自然數冪和。

我們定義伯努利數\(b_i\)滿足:

\[b_0=1,\sum_^\binomb_i=0\ (n>0)

\]那麼易得:

\[b_0=1,b_1=-\frac,b_2=\frac,b_3=0,b_4=-\frac,b_5=0,...

\]注意到奇數字除了\(b_1\)都為\(0\)。

首先很顯然的我們把定義式移個項就可以得到\(o(n^2)\)的做法:

\[b_n=-\frac\sum_^\binomb_i

\]其實我們通過一些奧妙重重的方法可以做到\(o(n\log n)\)。

我們把定義式抄下來:

\[\sum_^\binomb_i=0\\

\sum_^\binomb_i=0

\]注意第二個式子要保證\(n>1\)。

\[\sum_^\binomb_i+b_n=b_n\\

\sum_^\binomb_n=b_n\\

\sum_^\frac=\frac

\]注意到這是個卷積的形式,我們寫出\(b_i\)的指數型生成函式:

\[b(x)=\sum_^\fracx^i

\]那麼顯然等式左邊就是\(b(x)\)卷上\(e^x\),但是注意到上面那個等式只在\(n>1\)時成立,我們手玩一下\(n=0,1\)時卷積的樣子:

\[\begin

b(x)e^x&=b_0+(b_0+b_1)x+\cdots\\

b(x)&=b_0+b_1x+\cdots

\end

\]顯然\(b(x)\)少了個\(b_0x=x\),我們加上就好了,可得:

\[b(x)e^x=b(x)+x\\

b(x)=\frac

\]那麼我們直接多項式求逆就可以做到\(o(n\log n)\)。

定義:\[s_p(n)=\sum_^i^p

\]然後我們搞出這個函式的指數型生成函式:

\[\begin

g_n(x)&=\sum_^\fracx^i\\

&=\sum_^\frac\sum_^j^i\\

&=\sum_^\sum_^\frac\\

&=\sum_^e^=\frac-e^}\\

\end

\]

後面乙個是根據\(e^\)的定義來的,即:

\[e^=\sum_^\frac

\]

注意到分母和\(b(x)\)長的一樣,我們把\(b(x)\)套進去:

\[\begin

g_n(x)&=b(x)\frac-e^x}\\

&=b(x)e^x\cdot \frac\cdot \left(-1+\sum_^\frac\right)\\

\end

\]注意到前面有乙個等式是這樣的:\(b(x)e^x=b(x)+x\)。

由於後面這個\(x\)不好處理,我們定義乙個新的伯努利數\(b'(x)=b(x)+x\),注意到這個新的數列只有第一項和伯努利數不同,\(b'(1)=-b(1)\)。

因為只有一項不同,下面的式子為了美觀把b'寫成了b

\[\begin

g_n(x)&=\left(\sum_^\fracx^i\right)\cdot \left(\sum_^\frac}x^i\right)\\

&=\sum_^x^i\sum_^\frac}\cdot \frac}\\

&=\sum_^\frac\cdot \frac\sum_^i\binomb_n^

\end

\]對比係數可知:

\[\begin

s_i(n)&=\frac\sum_^i\binomb_n^\\

&=\frac\sum_^\binomb_jn^\\

&=\frac\sum_^\binomb_jn^\\

\end

\]那麼寫的好看一點,結論就是:

\[\sum_^i^k=\frac\sum_^\binomb_jn^

\]void get_bernoulli() {

b[0]=1;

for(int i=1;i多項式求逆不想寫了,以後遇到題再寫吧

學習筆記 伯努利數與自然數冪和

伯努利數是由如下隱式遞推關係確定的乙個數列 begin sum i b i m 0 end 改寫上式得 sum frac frac frac frac,設伯努利數的 egf 為 b x 那麼 b x e x x b x 解得 b x frac.定義 0 0 1 並設 s m n sum i m,我們...

關於伯努利數

主要是寫這個部落格用來記錄自然數冪和與伯努利數的關係 伯努利數定義如下 b 0 1 sum nb ic i 0 於是我們有了它的遞推式 b n frac sum b ic i 有乙個經常用的東西,用來求自然數冪和 s m n sum i m s m n frac sum c b i n 1 上面的式...

學習筆記 伯努利數

b n n 0 frac 1 sum binom i b i 同時有 hat x sum b i frac frac x 所以可以使用多項式求逆求出伯努利數。設自然數冪和函式 s k n sum i k 那麼有 s k n frac 1 sum k binomi b i n 設 hat n x su...