我們常用bib
i定義第i
i個伯努利數。
生成函式定義方式:ze
z−1=
∑n=0
∞bnz
nn!e
z−1z
=n=
0∑∞
bnn
!zn
這裡的z∈c
z∈c(c
c為複數域)
由於伯努利數是指數型函式的母函式,所以我們對exe
x進行泰勒展開即可得到。前99
項伯努利數:b0
=1b1
=−12
b2=1
6b3=
0b4=
−130b
5=0b
6=142
b7=0
b8=−
130b9
=0b_5=0\ \ \ b_6=\frac\ \ \ b_7=0\ \ \ b_8=-\frac\ \ \ b_9=0b0
=1b
1=−
21b
2=6
1b3
=0b
4=−
301
b5=
0b6
=421
b7
=0b8
=−3
01b
9=0
我們不難發現對於bnb
n,當bnbn
為奇數且不為1
1時,bn=
0bn
=0其中有些時候定義b1=
12b1
=21
,那麼對應的生成函式只需改為zez
ez−1
ez−1
zez
即可。遞迴定義方式:bn
=[m=
0]−∑
k=0m
−1(m
k)bk
m−k+
1bn
=[m=
0]−k
=0∑m
−1(
km)
m−k+
1bk
邊界為b0=
1b0
=1,[m
=0][
m=0]
表示當m=0
m=0時為1
1,否則為00。
∑i=1
nik=
1k+1
∑i=1
k+1c
k+1i
bk+1
−i(n
+1)i
i=1∑
nik
=k+1
1i=
1∑k+
1ck
+1i
bk+1
−i(
n+1)
ibn=
−1n+
1(cn
+10b
0+cn
+11+
⋯+cn
+1n−
1bn−
1)bn
=−n
+11
(cn+
10b
0+c
n+11
+⋯+
cn+1
n−1
bn−1
)我們將生成函式的公式繼續變形得到:=z
∑i=1
∞zii
!=1∑
i=0∞
zi(i
+1)!
\\ =\frac^\frac}=∑
i=1∞
i!z
iz
=∑i=
0∞(
i+1)
!zi
1最後就變成了多項式∑i=
0∞zi
(i+1
)!∑i
=0∞
(i+1
)!zi
的逆元了,用多項式求逆(ntt)即可在o(n
logn
)o(n
logn
)的時間內預處理前nn項。
參考:
學習筆記 伯努利數
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...
關於伯努利數
主要是寫這個部落格用來記錄自然數冪和與伯努利數的關係 伯努利數定義如下 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 滿足 b 0 1,sum nb i 0 n 0 可以發現定義式裡面包含了 b n 這一項,於是把 b n 提出來 b n sum b i n 1 b n sum b i b n frac sum b i 直接用定義式求是 o n 2 的複雜度 把定義式的迴圈上界減一,得 su...