Cumulative Sum

题意

题解

part1

\(n\) 很大,但 \(m,k\) 很小,这提示了我们。

\(f(x,y)\) 看成若干个关于 \(x\) 的多项式,\(f_y(x)\)

显然 \(y=0\)\(f_y(x)\) 是一个 \(k\) 次多项式。

考虑由于 \(f_y(x)\leftarrow f_y(x-1)+f_{y-1}(x)\)

显然 \(f_y(x)\) 本质上是一个 \(f_{y-1}(x)\) 的前缀和,所以 \(f_y(x)\) 次数是 \(f_{y-1}(x)\) 次数加一。

可以发现 \(f_{y}(x)\) 是一个 \(k+y\) 次多项式。


part2

暴力计算 \(f_y(x),x\in[1,k+y]\) 后。(\(\texttt{Complexity : } \mathcal{O(ky)}\)).

考虑 lagrange 插值。

记住 \(x_i\) 值是有规律的时候拉格朗日插值是 \(O(n)\) 的,或者高一点。

分子维护一个suffix,prefix就完事了。

分子发现是每一次全加一,也是可以做的。

这样就完事了。


Cumulative Sum
https://proton-z.github.io/2021/09/12/abc208f/
作者
Imitators
发布于
2021年9月12日
许可协议