【题目描述】
给定一个由整数三元组构成的序列 ((pi,ai,bi))0≤i<N。依次处理 Q 个查询,查询类型如下:
0 $i$ $p$ $a$ $b$:令 (pi,ai,bi)←(p,a,b)。
1 $l$ $r$ $x$:输出 fr−1(fr−2(...fl(x)))mod998244353,其中 fi(x):=aix+bi。
2 $l$ $r$:将 ((pi,ai,bi))l≤i<r 排序,使得 pi 递增。
3 $l$ $r$:将 ((pi,ai,bi))l≤i<r 排序,使得 pi 递减。
【输入】
文本
$N$ $Q$
$p_0$ $a_0$ $b_0$
$\vdots$
$p_{N-1}$ $a_{N-1}$ $b_{N-1}$
第 $0$ 个查询
$\vdots$
第 $Q - 1$ 个查询
【输出】
对于每个 1 $l$ $r$ $x$ 查询,输出一行,表示 fr−1(fr−2(...fl(x)))mod998244353 的值。
【输入样例】
文本
3 8
1 10 1
0 10 2
2 10 3
1 0 3 0
2 0 3
1 0 3 0
3 0 3
1 0 3 0
2 0 2
1 0 3 0
1 1 3 0
【输出样例】
【输入样例2】
文本
3 10
5 10 1
2 10 2
4 10 3
1 0 3 0
0 1 8 10 4
2 0 3
1 0 3 0
0 1 3 10 5
3 0 3
1 0 3 0
0 0 1 10 6
2 1 3
1 0 3 0
【输出样例2】
【数据范围】
- 1≤N≤100000
- 1≤Q≤100000
- 0≤i<N
- 0≤pi,p≤1000000000
- 所有 pi,p(初始值以及查询 0 中给出的值)互不相同。
- 1≤ai,a<998244353
- 0≤bi,b<998244353
- 0≤x<998244353
- 0≤l<r≤N
【来源】
Library Checker(yosupo06) point_set_range_sort_range_composite