#P10007. [集训队互测 2023] 童话

    ID: 9266 Type: RemoteJudge 3000ms 2048MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>WC/CTSC/集训队2023O2优化生成函数,GF拉格朗日反演

[集训队互测 2023] 童话

题目背景

童话只美在真实却从不续写。

童话只美在温柔却从不续写。

题目描述

泠珞最近学习了前缀和算法,她写出了以下程序:

read(n),read(a);
for(int i=0;i<=n;i++)read(f[i]);
for(int t=1;t<=n;t++){
    for(int i=1;i<=n;i++)f[i]=f[i]+a*f[i-1];
    ans[t]=f[t];
}

她发现这个程序在 nn 比较大的时候会运行超时,请你帮忙写一个程序帮她计算出 ans1,ans2,,ansn\text{ans}_1,\text{ans}_2,\cdots,\text{ans}_n,由于答案数值过大,你只需告诉她每个数除以 998244353998244353 的余数。

输入格式

第一行两个正整数 n,an,a

接下来一行 n+1n+1 个非负整数,表示 f0,f1,,fnf_0,f_1,\cdots,f_n

输出格式

nn 个非负整数,表示 ans1,ans2,,ansn\text{ans}_1,\text{ans}_2,\cdots,\text{ans}_n

2 1
1 2 0
3 7
10 10
5 9 7 8 0 6 3 2 4 10 1
59 1687 55618 1937320 69557006 549579657 621247830 250099579 483510144 968467040

提示

数据范围:

对于 100%100\% 的数据,保证 $2\leqslant n\leqslant 10^6,0\leqslant f_i<998244353,1\leqslant a<998244353$。

子任务编号 nn\leqslant 特殊性质 分值
11 20002000 55
22 10510^5 A
33 BC
44 BD 1010
55 C
66 5×1045\times10^4
77 10510^5
88 2×1052\times 10^5 1515
99 5×1055\times 10^5
1010 10610^6

特殊性质 A:保证 fi0f_i\ne 0ii 数量不超过 100100

特殊性质 B:保证 a=1a=1

特殊性质 C:保证对于所有 i[0,n]i\in[0,n],都满足 fi=1f_i=1

特殊性质 D:保证对于所有 i[0,n]i\in[0,n],都满足 fi=(i+22)=(i+2)(i+1)2f_i={i+2\choose 2}=\frac{(i+2)(i+1)}{2}