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

题目描述

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

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

998244353 998244353 998244353 取模的结果。

数据范围

1 ≤ m ≤ 100000 , m ≤ n ≤ 1 0 9 1\le m\le 100000,m\le n\le 10^9 1m100000,mn109

题解

orzsz!

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

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

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

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

你可能感兴趣的:(#4850. 查拉图斯特拉如是说)