Problem. U

题意简述:

给定非负整数列({a_n}),求

[forall min[0,n]quad f_m=sum_{i=0}^na_isum_{j=0}^n(-1)^j{mchoose j}{n-mchoose i-j} ]

(998244353)取模。

数据范围:

(nle10^6)

解法:

(A(x)=sum a_ix^i,f_m=sumlimits_{i=0}^n[x^i]F_m)

[egin{aligned} F_m(x)&=(1-x)^m(1+x)^{n-m}cdot A\ &=(frac{1+x}{1-x})^m(1+x)^ncdot A\ &=(A(- imes)(1+x)^n)cdot(1+frac{-2x}{1+x})^m\ &=(A(- imes)(1+x)^n)cdot(sumlimits_{i=0}^m(-2)^i{mchoose i}(frac x{1+x})^i)\ &=sumlimits_{i=0}^m(-2)^i{mchoose i}((frac x{1+x})^icdot(A(- imes)(1+x)^n)) end{aligned} ]

其中((- imes))表示减法卷积。

先求出(P=A(- imes)(1+x)^n),令(Q_i=(frac x{1+x})^icdot P),那么

[egin{aligned} f_m&=sumlimits_{i=0}^m(-2)^i{mchoose i}sumlimits_{k=0}^n[x^k]Q_i(x) end{aligned} ]

那么现在我们只需要求出(S_i=sumlimits_{k=0}^n[x^k]Q_i(x))即可。

[egin{aligned} S_i&=sumlimits_{k=i}^n{-ichoose k-i}[x^k]P(x)\ end{aligned} ]

直接减法卷积即可。

总的时间复杂度为(O(nlog n))

原文地址:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12989694.html