#P9126. 点赋值区间复合(大数组)(Point Set Range Composite (Large Array))

点赋值区间复合(大数组)(Point Set Range Composite (Large Array))

点赋值区间复合(大数组)(Point Set Range Composite (Large Array))

问题描述

给定一个长度为 N N 的线性函数序列 f0,f1,,fN1 f_0, f_1, \dots, f_{N-1} ,初始时对所有 i i ,有 fi(x)=x f_i(x) = x
请按顺序处理以下 Q Q 个查询:

  • 0 p c d:将 fp f_p 更新为 fp(x)cx+d f_p(x) \leftarrow c x + d
  • 1 l r x:计算并输出 $f_{r-1}(f_{r-2}(\cdots f_l(x)\cdots)) \bmod 998244353$。

约束条件

  • 1N109 1 \leq N \leq 10^9
  • 1Q5×105 1 \leq Q \leq 5 \times 10^5
  • 1c<998244353 1 \leq c < 998244353
  • 0d,x<998244353 0 \leq d, x < 998244353
  • 0p<N 0 \leq p < N
  • 0l<rN 0 \leq l < r \leq N

输入格式

N QN\ Q
Query0Query_0
Query1Query_1
:
QueryQ1Query_{Q-1}

1000000000 6
0 100 2 3
0 10000 4 5
1 99 100 10
1 1 1000000000 1
0 1000000 6 7
1 1 1000000000 1
10
25
157