U471448 区间加,但是等比数列
题目描述
现在有一个长度为 $n$ 的数列 $arr$ ,你需要维护以下操作:
$1 \, l \, r \, a \, c$ 这意味着你要在区间 $[l,r]$ 上增加首项为 $a$ ,公比为 $c$ 的等比数列,形式化地, $\forall i \in [l,r],arr_i+=a \times c^{i-l}$
$2 \, l \, r$ 查询 $[l,r]$ 的区间和模 $998244353$
输入格式
第一行两个数字 $n$ 和 $q$ ,表示序列长度和操作数量。
第二行 $n$ 个数字表示初始的 $arr$ 序列
接下来 $q$ 行如题目描述输入操作
输出格式
对于每一个区间查询,输出结果模 $998244353$ 的值
说明/提示
$n,q \leqslant 3 \times 10^5$ ,
输入数字保证在 $int$ 范围之内。
对于 $ 20\% $ 的数据,$n,q \leqslant 100$
对于额外 $ 20\%$ 的数据,$n,q \leqslant 5000$
对于额外 $ 20\% $ 的数据,没有 $1$ 操作
对于额外 $ 10\% $ 的数据,所有 $1$ 操作输入的 $c$ 为 $1$