.
生成函数
B
(
z
)
=
z
e
z
−
1
=
∑
B
n
z
n
n
!
B(z)=\frac{z}{e^z-1}=\sum B_n\frac{z^n}{n!}
B(z)=ez−1z=∑Bnn!zn
递推式(
n
2
n^2
n2)
B
0
=
1
B_0=1
B0=1
B
n
=
−
∑
k
=
0
n
−
1
C
n
k
B
k
n
−
k
+
1
B_n=-\sum_{k=0}^{n-1}C_n^k\frac{B_k}{n-k+1}
Bn=−k=0∑n−1Cnkn−k+1Bk
也可以写成这样
∑
k
=
0
n
C
n
+
1
k
B
k
=
0
\sum_{k=0}^nC_{n+1}^kB_k=0
k=0∑nCn+1kBk=0
和自然数幂和的关系
∑ k = 1 n k p = ∑ j = 0 p ( − 1 ) j C p + 1 j B j n p + 1 − j p + 1 \sum_{k=1}^nk^p=\frac{\sum_{j=0}^p(-1)^jC_{p+1}^jB_jn^{p+1-j}}{p+1} k=1∑nkp=p+1∑j=0p(−1)jCp+1jBjnp+1−j
.
当然有的公式会把
(
−
1
)
j
(-1)^j
(−1)j那一项去掉不过通常不会有问题,因为除了
B
1
=
−
1
2
B_1=-\frac{1}{2}
B1=−21其余
B
2
n
+
1
=
0
B_{2n+1}=0
B2n+1=0,反正注意判断一下就行了
一些其他的东西
已知
n
n
n多项式上的
n
+
1
n+1
n+1个点,那么我们可以得到这个多项式
F ( z ) = ∑ i = 0 n y i ∏ j ≠ i ( z − x j ) ∏ j ≠ i ( x i − x j ) F(z)=\sum_{i=0}^n\frac{y_i\prod_{j\neq i}(z-x_j)}{\prod_{j\neq i}(x_i-x_j)} F(z)=i=0∑n∏j̸=i(xi−xj)yi∏j̸=i(z−xj)
.
这个公式叫拉格朗日插值
其实本质就是构造而已,把这些点带入大概就知道这个式子怎么回事了
这个东西可以在
O
(
k
)
O(k)
O(k)时间复杂度求自然数幂和
首先用线性筛筛出
0
0
0到
k
k
k的k次方之和,这一步要
O
(
k
)
O(k)
O(k)复杂度
让后预处理出
1
−
k
1-k
1−k的阶乘,将每个点
(
i
,
i
k
)
(i,i^k)
(i,ik)和
z
=
n
z=n
z=n带入上面的式子就可以得到答案了
但是这个东西不能求出各项系数