
可持久化区间仿射区间和(Persistent Range Affine Range Sum)
问题描述
给定一个长度为 N 的整数序列 a0,a1,…,aN−1。令 A−1 表示初始序列 (a0,a1,…,aN−1)。
对 i=0,1,…,Q−1,按顺序处理第 i 个查询:
0 k l r b c:以 Ak 为模板创建新版本 Ai;对每个 j=l,l+1,…,r−1,在 Ai 中令
aj←b×aj+c。
1 k s l r:以 Ak 为模板创建新版本 Ai;对每个 j=l,l+1,…,r−1,在 Ai 中令 aj←aj′(aj′ 是 As 中的数)
2 k l r:以 Ak 为当前版本;输出 ∑j=lr−1ajmod998244353。
约束条件
- 设 ti 为第 i 次操作的类型。(0≤i<Q,t∈{0,1,2})
- 1≤N,Q≤105
- 0≤a<998244353
- 1≤b<998244353
- 0≤c<998244353
- −1≤k<i
- −1≤s<i
- k=−1 或 tk∈{0,1}
- s=−1 或 ts∈{0,1}
- 0≤l<r≤N
输入格式
N Q
a0 ⋯ aN−1
Query0
Query1
:
QueryQ−1
5 11
1 2 3 4 5
2 -1 0 5
0 -1 2 4 100 1
0 1 1 3 100 3
2 2 1 5
2 2 0 5
1 2 -1 1 3
2 5 0 1
2 5 0 2
2 5 0 3
2 5 0 4
2 5 0 5
15
30712
30713
1
3
6
407
412
10 10
98571302 347764691 874908879 522525408 665451426 585614689 752625419 867933974 588349757 331245164
2 -1 5 7
1 -1 -1 8 9
0 -1 3 4 559932567 67455332
1 1 1 0 8
1 3 1 5 9
2 1 1 2
1 2 -1 5 6
0 -1 0 9 703344909 379527638
2 6 2 9
2 7 7 9
339995755
347764691
266369014
783560804