Problem. U
题意简述:
给定非负整数列\(\{a_n\}\),求
\[\forall m\in[0,n]\quad f_m=\sum_{i=0}^na_i\sum_{j=0}^n(-1)^j{m\choose j}{n-m\choose i-j}
\]
对\(998244353\)取模。
数据范围:
\(n\le10^6\)
解法:
记\(A(x)=\sum a_ix^i,f_m=\sum\limits_{i=0}^n[x^i]F_m\)。
\[\begin{aligned}
F_m(x)&=(1-x)^m(1+x)^{n-m}\cdot A\\
&=(\frac{1+x}{1-x})^m(1+x)^n\cdot A\\
&=(A(-\times)(1+x)^n)\cdot(1+\frac{-2x}{1+x})^m\\
&=(A(-\times)(1+x)^n)\cdot(\sum\limits_{i=0}^m(-2)^i{m\choose i}(\frac x{1+x})^i)\\
&=\sum\limits_{i=0}^m(-2)^i{m\choose i}((\frac x{1+x})^i\cdot(A(-\times)(1+x)^n))
\end{aligned}
\]
其中\((-\times)\)表示减法卷积。
先求出\(P=A(-\times)(1+x)^n\),令\(Q_i=(\frac x{1+x})^i\cdot P\),那么
\[\begin{aligned}
f_m&=\sum\limits_{i=0}^m(-2)^i{m\choose i}\sum\limits_{k=0}^n[x^k]Q_i(x)
\end{aligned}
\]
那么现在我们只需要求出\(S_i=\sum\limits_{k=0}^n[x^k]Q_i(x)\)即可。
\[\begin{aligned}
S_i&=\sum\limits_{k=i}^n{-i\choose k-i}[x^k]P(x)\\
\end{aligned}
\]
直接减法卷积即可。
总的时间复杂度为\(O(n\log n)\)。