【题解】Cumulative Sum

\(\texttt{ABC208 } \text{Cumulative Sum}\)

\(k\) 是一个给定的常数,递归地定义函数 \(f(n,m)\) ,有

\[f(n,m)=\left\{\begin{aligned}&0 &n=0\\&n^k &n>0,m=0\\&f(n-1,m)+f(n,m-1) &\text{otherwise}\end{aligned}\right. \]

总结一下主过程:

  1. 固定 \(m\) ,证明 \(f_m(x)\) 是一个关于 \(x\) 的次数界为 \(m+k+1\) 的多项式,次数界简记作 \(p\)
  2. 尝试在 \(O(mp)\) 的时间内去处理出 \(\prod_{j\neq i}(n-j),\;i!\text{ 及其模意义下的逆元},\;f(i),\;i=0,1,\cdots,p\)
  3. 大力拉格朗日插值 \(O(p)\) 得到 \(f(n)\)

后两步是 trivial 的,此处简单谈谈第一步。

我们先证明, \(k\ge 0\)

\[\sum\limits_{i=0}^Ni^{k} \]

是一个关于 \(N\) 的次数界为 \(k+2\) 的多项式。

\(k\) 归纳:

\(k=0\) 时显然;

假设 \(k=K-1\) 成立,则 \(k=K\) 时,有

\[\begin{aligned} \sum\limits_{i=0}^Ni^{K+1}+(N+1)^{K+1}&=\sum\limits_{i=0}^N(i+1)^{K+1} \\ &=\sum\limits_{i=0}^N\sum\limits_{j=0}^{K+1}\binom{K+1}{j}i^j \\ &=\sum\limits_{i=0}^Ni^{K+1}+\sum\limits_{i=0}^N\sum\limits_{j=0}^{K}\binom{K+1}{j}i^j \end{aligned} \]

于是

\[\sum\limits_{i=0}^Ni^K=\frac{\sum_{i=0}^{K+1}\binom{K+1}{i}N^i-\sum_{j=0}^{K-1}\binom{K+1}{j}\sum_{i=0}^{N}i^j}{\binom{K+1}{K}} \]

\(\sum_{i=0}^{K+1}\binom{K+1}{i}N^i\) 是一个关于 \(N\) 的次数界为 \(k+2\) 的多项式,由归纳假设, \(\sum_{j=0}^{K-1}\binom{K+1}{j}\sum_{i=0}^{N}i^j\) 是一个关于 \(N\) 的次数界为 \(k+1\) 的多项式, 故右式是一个关于 \(N\) 的次数界为 \(k+2\) 的多项式。

由数学归纳法得证。

我们再证明,若 \(f_{k-1}(x)\) 是一个关于 \(x\) 的次数界为 \(k+1\) 的多项式,则

\[f_{k}(x)=\sum\limits_{i=0}^xf_{k-1}(i) \]

是一个关于 \(x\) 的次数界为 \(k+2\) 的多项式(这个东西好像叫多项式前缀和)。

\[\begin{aligned} f_k(x)&=\sum\limits_{i=0}^x\sum\limits_{j=0}^{k}[z^j]f_{k-1}(z)i^j \\ &=\sum\limits_{j=0}^k[z^j]f_{k-1}(z)\sum\limits_{i=0}^{x}i^j \\ \end{aligned} \]

由之前证明的结论, \(\sum_{i=0}^xi^j\) 是一个关于 \(x\) 的次数界为 \(j+2\) 的多项式,所以 \(f_k(x)\) 是一个关于 \(x\) 的次数界为 \(k+2\)​ 的多项式。

\(\square\)

posted @ 2021-07-07 15:23  gsj_z  阅读(94)  评论(1编辑  收藏  举报