[ABC315Ex] Typical Convolution Problem

题意翻译

### 题目描述 给定一个长为 $n$ 的序列 $a$,按如下方法计算 $f(x)$: - $f(0)=1$; - 当整数 $m\in[1,n]$ 时,$f(m)=a_m\times (\displaystyle\sum_{i+j\lt m} f(i)\times f(j))$。 对于每个整数 $i\in[1,n]$,计算 $f(i)$ $\bmod$ $998244353$ 的值。 ### 输入格式 第一行为序列长度 $n$,第二行输入 $n$ 个整数表示序列 $a$。 ### 输出格式 依次输出 $f(1)$,$f(2)$,…,$f(n)$ 对 $998244353$ 取模后的值,相邻两个数之间以单个空格隔开。 ### 说明/提示 #### 数据规模与约定 $1\le n\le 2\times 10^5$,$a_i\in[0,998244352]$。

题目描述

[problemUrl]: https://atcoder.jp/contests/abc315/tasks/abc315_h 数列 $ (A_1,\ A_2,\ \ldots\ ,\ A_N) $ が与えられます。 数列 $ (F_0,\ F_1,\ \ldots\ ,\ F_N) $ を以下の式により定義します。 - $ F_0\ =\ 1 $ - $ F_n\ =\ A_n\displaystyle\sum_{i+j\ <\ n}F_iF_j $ $ (1\ \leq\ n\ \leq\ N) $ $ F_1,\ \ldots\ ,\ F_N $ を $ 998244353 $ で割った余りを求めてください。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $

输出格式


$ F_1,\ \ldots\ ,\ F_N $ を $ 998244353 $ で割った余りをこの順に空白区切りで出力せよ。

输入输出样例

输入样例 #1

5
1 2 3 4 5

输出样例 #1

1 6 48 496 6240

输入样例 #2

3
12345 678901 2345678

输出样例 #2

12345 790834943 85679169

说明

### 制約 - $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ 0\ \leq\ A_i\ <\ 998244353 $ - 入力される値はすべて整数 ### Sample Explanation 1 $ F_1\ =\ A_1F_0F_0\ =\ 1 $ です。 $ F_2\ =\ A_2(F_0F_0+F_0F_1+F_1F_0)\ =\ 6 $ です。 同様にして、$ F_3\ =\ 48,\ F_4\ =\ 496,\ F_5\ =\ 6240 $ がわかります。