【题目描述】
给定一个长度为 N 的整数序列 a0,a1,…,aN−1。请处理 Q 个查询,形式如下:
0 $l$ $r$ $b$ $c$:对每个 i=l,l+1,…,r−1,令 ai←b×ai+c。
1 $l$ $r$:输出 ∑i=lr−1aimod998244353。
【输入】
输入格式如下:
文本
$N$ $Q$
$a_0$ $a_1$ ... $a_{N - 1}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$
【输出】
对每个 1 $l$ $r$ 查询,输出一行一个整数,表示 ∑i=lr−1aimod998244353。
【输入样例】
文本
5 7
1 2 3 4 5
1 0 5
0 2 4 100 101
1 0 3
0 1 3 102 103
1 2 5
0 2 5 104 105
1 0 5
【输出样例】
【数据范围】
- 1≤N,Q≤500000
- 0≤ai,c<998244353
- 1≤b<998244353
- 0≤l<r≤N
【来源】
Library Checker(yosupo06) range_affine_range_sum