下 Summer Pockets REFLECTION BLUE 的时候太无聊,于是就来学这个东西了。
伯努利数(Bernoulli number)是由雅各布·伯努利的名字命名的。
定义
我们定义伯努利数 $B_n$ 是满足如下递归式 $\sum_{i=0}^{n}\binom{n + 1}{i}B_i = [n = 0]$ 的数列。
定义自然数幂和函数 $S(n, k)=\sum\limits_{i=0}^{n - 1}i^k$。
EGF
首先求出它的 EGF $B(z)$。定义式两边同加 $B_{n + 1}$ 得 $\sum\limits_{i = 0}^{n + 1} \binom{n + 1}{i} B_i = [n = 0] + B_{n + 1}$。
处理一下就是 $\sum\limits_{i = 0}^{n} \binom{n}{i} B_i = [n = 1] + B_{n}$。
所以 $B(z)e^z = B(z) + z$,即 $B(z) = \dfrac{z}{e^z - 1}$。
与自然数幂的转化
$$S(n, k) = \sum_{i = 0}^{n - 1} i^k = \dfrac{1}{k + 1}\sum_{i = 0}^{k}\binom{k + 1}{i} B_i n^{k - i + 1}$$
这玩意大概有两种常见证法。
利用归纳法证明
这个证明方法来自 Concrete Mathematics 6.5 BERNOULLI NUMBER。
$$\begin{aligned}
S(n, k)+n^{k + 1} &= \sum_{i = 0}^{n - 1}(i + 1)^{k + 1}\\
&= \sum_{i = 0}^{n - 1}\sum_{j=0}^{k + 1}\binom{k + 1}{j}k^j\\
&= \sum_{j = 0}^{k + 1}\binom{k + 1}{j}S(n, j)
\end{aligned}$$
两边同时减去 $S(n, k)$ 得
$$n^{k + 1} = \sum_{j = 0}^{k} \binom{k + 1}{j} S(n, j)$$
设 $\hat{S}(n, k) = \sum_{i = 0}^{n - 1} i^k = \dfrac{1}{k + 1}\sum_{i = 0}^{k}\binom{k + 1}{i} B_i n^{k - i + 1}$,且对于 $j\in [0, k)$ 均有 $S(n, j) = \hat{S}(n, j)$ 成立。则需证明 $S(n, k) = \hat{S}(n, k)$。
则此时 $n^{k + 1} = \sum_{j = 0}^{k - 1} \binom{k + 1}{j} \hat{S}(n, j) + S(n, k)$,故转化为证 $n^{k + 1} = \sum_{j = 0}^{k} \binom{k + 1}{j}\hat{S}(n, j)$。
$$\begin{aligned}
&\sum_{j = 0}^{k} \binom{k + 1}{j}\hat{S}(n, j)\\
&= \sum_{j = 0}^{k} \binom{k + 1}{j}\dfrac{1}{j + 1}\sum_{i = 0}^{j}\binom{j + 1}{i} B_i n^{j - i + 1}\\
&= \sum_{j = 0}^{k} \binom{k + 1}{j}\dfrac{1}{j + 1}\sum_{i = 0}^{j}\binom{j + 1}{i + 1} B_{j - i} n^{i + 1}\\
&= \sum_{j = 0}^{k} \binom{k + 1}{j}\sum_{i = 0}^{j}\binom{j}{i} B_{j - i} \dfrac{n^{i + 1}}{i + 1}\\
&= \sum_{i = 0}^{k} \dfrac{n^{i + 1}}{i + 1}\sum_{j = i}^{k}\binom{k + 1}{j}\binom{j}{i} B_{j - i}\\
&= \sum_{i = 0}^{k} \dfrac{n^{i + 1}}{i + 1}\binom{k + 1}{i}\sum_{j = i}^{k}\binom{k + 1 - i}{j - i} B_{j - i}\\
&= \sum_{i = 0}^{k} \dfrac{n^{i + 1}}{i + 1}\binom{k + 1}{i}\sum_{j = 0}^{k - i}\binom{k + 1 - i}{j} B_{j}\\
&= \sum_{i = 0}^{k} \dfrac{n^{i + 1}}{i + 1}\binom{k + 1}{i}[i = k]\\
&= \dfrac{n^{k + 1}}{k + 1}\binom{k + 1}{k}\\
&= n^{k + 1}
\end{aligned}$$
其中倒数第二步用的是定义式。
利用指数生成函数证明
设 $F_n(z) = \sum\limits_{k\ge 0}\dfrac{S(n, k)}{k!}z^k$。
$$\begin{aligned}
F_n(z) &= \sum\limits_{k\ge 0}\dfrac{S(n, k)}{k!}z^k\\
&= \sum_{i=0}^{n-1}\sum_{k\ge 0}\dfrac{i^kz^k}{k!}\\
&= \sum_{i=0}^{n-1}e^{iz}\\
&= \dfrac{e^{nz} - 1}{e^z - 1}\\
&= \dfrac{z}{e^z - 1}\cdot\dfrac{e^{nz} - 1}{z}\\
&= B(z)\cdot\dfrac{e^{nz} - 1}{z}\\
&= \left(\sum_{i\ge 0}\dfrac{B_i}{i!} \right)\left(\sum_{i\ge 0}\dfrac{n^{i+1} z^{i}}{(i+1)!}\right)
\end{aligned}$$
然后取一项就行了。
$$\begin{aligned}
S(n, k) &= k![z^k]F_n(z)\\
&= m!\sum_{i=0}^{k}\dfrac{B_i}{i!}\cdot\dfrac{n^{k-i+1}}{(k-i+1)!}\\
&= \dfrac{1}{k+1}\sum_{i=0}^{k}\binom{k+1}{i}B_in^{k-i+1}
\end{aligned}$$
例题
未特别说明时,模数均为998244353
。
「Luogu 3711」仓鼠的数学题
给数列 ${a_n}$,求 $Ans(z) = \sum\limits_{k = 0}^{n}(S(z, k) + z^k)a_k$。$n\le 2.5\times 10^5$。
$\sum\limits_{k = 0}^n a_k z^k$ 是个常量可以先扔出来。
$$\begin{aligned}
&Ans(z) -\sum\limits_{k = 0}^n a_k z^k\\
&= \sum_{k = 0}^{n}S(z, k)a_k\\
&= \sum_{k = 0}^{n}a_k\dfrac{1}{k+1}\sum_{i=0}^{k}\binom{k + 1}{i}B_i z^{k - i + 1}\\
&= \sum_{k = 0}^{n}a_k k!\sum_{i = 0}^{k} \dfrac{B_i}{i!}\cdot\dfrac{z^{k + 1 - i}}{(k + 1 - i)!}\\
&= \sum_{k = 0}^{n}a_k k!\sum_{i = 1}^{k + 1} \dfrac{B_{k + 1 - i}}{(k + 1 - i)!}\cdot\dfrac{z^i}{i!}\\
&= \sum_{i = 1}^{n + 1}\dfrac{z^i}{i!}\sum_{k = i - 1}^{n}(a_k k!)\dfrac{B_{k + 1 - i}}{(k + 1 - i)!}
\end{aligned}$$
后面那坨是个差卷积,于是翻转一下多项式做完了。
「HDU 6340」Delightful Formulas
给一个大数 $n = \prod\limits_{o = 0}^{m - 1} p_o^{\alpha_o}$ 的分解和正整数 $K$,求 $\sum\limits_{i=1}^{n}[\gcd(i, n) = 1]S(i, K)$。
$m\le 20, K\le 10^5, p_o, \alpha_o\le 10^9$。
首先来个莫比乌斯反演,$Ans = \sum\limits_{d|n} \mu(d)\sum\limits_{i=1}^{n/d}S(i\cdot d, K)$。设 $a_i = \dfrac{1}{k + 1}\binom{k + 1}{j}B_{k + 1 - j}$。
$$\begin{aligned}
Ans &= \sum_{d|n}\mu(d)\sum_{j=1}^{K+1}a_j d^j \sum_{i = 1}^{n/d} i^j\\
&= \sum_{d|n}\mu(d)\sum_{j=1}^{K+1}a_j d^j \sum_{i=1}^{j+1}(\dfrac{n}{d})^i\dfrac{1}{j + 1}\binom{j + 1}{i}B_{j + 1 - i}
\end{aligned}$$
到这里,枚举 $c = j - i + 1\in[0, K + 1]$:
$$\begin{aligned}
Ans &= \sum_{d|n}\mu(d)\sum_{c=-}1^{K}d^c\sum_{j=1}^{K+1}a_j n^{j-c} \dfrac{1}{j + 1}\binom{j+1}{c+1}B_{c+1}\\
&= \sum_{c=-1}^{K}B_{c+1}\sum_{j=1}^{K+1}\dfrac{a_j}{j+1}\binom{j+1}{c+1}n^{j-c} \sum_{d|n}d^c\mu(d)\\
&= \sum_{c=0}^{K+1}B_{c}\sum_{j=1}^{K+1}\dfrac{a_j}{j+1}\binom{j+1}{c}n^{j-c+1} \sum_{d|n}d^{c-1}\mu(d)
\end{aligned}$$
发现 $\sum\limits_{d|n}d^c\mu(d)=\prod\limits_{o=0}(1 - p_o)$,所以考虑 $F_c = \sum\limits_{j=1}^{K+1}\dfrac{a_j}{j+1}\binom{j+1}{c}n^{j-c+1}$,我们要对于 $c\in[0, K + 1]$ 全求出来。
$$\begin{aligned}
F_c &= \sum_{j=1}^{K+1}\dfrac{a_j}{j+1}\binom{j+1}{c}n^{j-c+1}\\
&= \dfrac{1}{c!}\sum_{j=1}^{K+1}a_j j!\dfrac{n^{j - c + 1}}{(j - c + 1)!}
\end{aligned}$$
又是差卷积,稍微算算发现 $K-j+c\in[-K-1, K]$,所以设 $b_i=\dfrac{n^{K - i + 2}}{(K - i + 2)!}$。
就变成求 $F_c = \sum\limits_{j=1}^{K+1}a_j j! b_{K + 1-j+c}$。(这个 $a_i$ 其实拆开形式比较好)
于是做完了。记得乘上一堆麻烦的系数。
不知道为什么板子一直 WA……后来重写了一遍就过了。
1 |
|