#4850. 查拉图斯特拉如是说

题目描述

给出 $n$ 以及一个 $m$ 次多项式 $f(x)$,需要求出

$$\sum_{i=0}^n \binom{n}{i} f(i)$$

对 $998244353$ 取模的结果。

数据范围

$1\le m\le 100000,m\le n\le 10^9$

题解

orzsz!

考虑组合意义,即有 $n$ 个小球,选出 $i$ 个小球的价值为 $f(i)$ 。我们可以记 $x^j$ 的系数的总和,最后再乘上 $a_j$ 即可。

于是考虑 $\text{dp}$ : $f[i][j]$ 表示前i个小球, $x^j$ 的系数总和。考虑转移:若 $i$ 不选,则 $f[i][j]=f[i-1][j]$ ;若 $i$ 选,则考虑到 $(x+1)^j=\sum_{k=0}^j \binom{j}{k}x^k$ ,所以 $f[i][j]=\sum_{k=0}^j \binom{j}{k}f[i-1][k]$ 。

发现可以 $\text{exp}$ ,故效率为 $O(n\log n)$ 。

注意到取对数的多项式中常数项不是 $1$ ,但是特判一下即可。

posted @ 2020-06-17 21:35  xjqxjq  阅读(175)  评论(0编辑  收藏  举报