【题目描述】
给定一个长度为 N 的线性函数序列 f0,f1,...,fN−1。对于所有 i,fi(x)=aix+bi。按如下方式处理 Q 次查询:
0 $p$ $c$ $d$:将 fp 修改为 fp←cx+d。
1 $l$ $r$ $x$:输出 fr−1(fr−2(...fl(x)))mod998244353。
【输入】
文本
$N$ $Q$
$a_0$ $b_0$
$a_1$ $b_1$
:
$a_{N - 1}$ $b_{N - 1}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$
【输出】
对于每个类型为 1 的查询,输出一行一个整数,表示对应复合函数的计算结果。
【输入样例】
文本
5 5
1 2
3 4
5 6
7 8
9 10
1 0 5 11
1 2 4 12
0 1 13 14
1 0 4 15
1 2 5 16
【输出样例】
【数据范围】
- 1≤N,Q≤500,000
- 1≤ai,c<998244353
- 0≤bi,d,x<998244353
- 0≤p<N
- 0≤l<r≤N
【来源】
Library Checker(yosupo06) point_set_range_composite