题意简述:
给定非负整数列({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))。