[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 $ がわかります。