[PumpkinOI Round 1] 递推
题目背景
>一个简单的问题,什么是递推?
题目描述
定义一个数列 $\{a_0 \dots a_{n - 1} \}$ 的递推式为满足下式的序列 $\{r_0\dots r_m\}$:
$$\sum_{j = 0} ^ m r_j a_{i - j} = 0, \forall i \ge m$$
$m$ 称为该递推式的阶数。特别地,$r_0\neq 0$。
给你一个无限长的数列 $\{a_i\}$ 的前 $n$ 项以及数列 $\{a_i\}$ 的一个阶数为 $n$ 的递推式 $\{b_i\}$。
要求求出数列 $\{a_i\}$ 的所有项之和。答案对 $998244353$ 取模。
可以证明,对于任意一个模 $998244353$ 意义下输入,都存在实数意义下的一个对应数列的答案是收敛的。
输入输出格式
输入格式
第一行一个正整数 $n$。
第二行输入 $n$ 个整数,表示序列 $\{a_i\}$ 的前 $n$ 项即 $\{a_0 \dots a_{n-1}\}$ 在模 $998244353$ 意义下的值。
第三行输入 $n+1$ 个整数,表示递推式 $\{b_0\dots b_n\}$ 在模 $998244353$ 意义下的值。
输出格式
输出一行一个整数,表示数列 $\{a_i\}$ 的所有项之和对 $998244353$ 取模的结果。
保证答案可以在模 $998244353$ 意义下表示,即如果最终的答案为分数 $\frac qp$(可以证明答案肯定是一个有理数),保证 $p\not\equiv0\pmod {998244353}$。
输入输出样例
输入样例 #1
1
1
1 499122176
输出样例 #1
2
输入样例 #2
2
1 1
1 199648870 99824435
输出样例 #2
14
输入样例 #3
1
1
1 499122177
输出样例 #3
665496236
说明
**样例解释 #1**
$499122176\equiv -\frac12\pmod {998244353}$。
$\forall i\ge n,a_i-\frac12\times a_{i-1}=0$ 即 $a_i=\frac12\times a_{i-1}$,即数列 $\{a_i\}$ 是等比数列 $1,\frac12,\frac14,\dots$。其和收敛于 $2$。
**样例解释 #2**
$199648870\equiv -0.6\pmod {998244353},99824435\equiv -0.3\pmod {998244353}$。
$\forall i\ge n,a_i-0.6\times a_{i-1}-0.3\times a_{i-2}=0$ 即 $a_i=0.6\times a_{i-1}+0.3\times a_{i-2}$。经计算,其和收敛于 $14$。
**本题使用子任务捆绑/依赖**
对于所有子任务,$1\le n\le5\times 10^3$, $0\le a_i,b_i< 998244353$。特别地,$b_0\neq 0$。
| 子任务编号 | 分值 | $n\le$ | 依赖 |
| :-----------: | :-----------: | :-----------: | :-----------: |
| $1$ | $30$ | $1$ | 无 |
| $2$ | $30$ | $2$ | $1$ |
| $3$ | $40$ | $5\times 10^3$ | $1,2$ |