题目 30044

单点赋值区间排序区间复合

查看题解 ↗GitHub ↗如何评测
题号
30044
时间限制
10000 ms
内存限制
1024 MB
标签
数据结构
来源
Library Checker (yosupo06) - point_set_range_sort_range_composite

【题目描述】

给定一个由整数三元组构成的序列 ((pi,ai,bi))0≤i<N\bigl((p_i, a_i, b_i)\bigr)_{0\leq i < N}。依次处理 QQ 个查询,查询类型如下:

  • 0 $i$ $p$ $a$ $b$:令 (pi,ai,bi)←(p,a,b)(p_i,a_i,b_i) \gets (p,a,b)。
  • 1 $l$ $r$ $x$:输出 fr−1(fr−2(...fl(x))) mod 998244353f_{r-1}(f_{r-2}(...f_l(x))) \bmod 998244353,其中 fi(x):=aix+bif_i(x) := a_ix + b_i。
  • 2 $l$ $r$:将 ((pi,ai,bi))l≤i<r\bigl((p_i, a_i, b_i)\bigr)_{l\leq i < r} 排序,使得 pip_i 递增。
  • 3 $l$ $r$:将 ((pi,ai,bi))l≤i<r\bigl((p_i, a_i, b_i)\bigr)_{l\leq i < r} 排序,使得 pip_i 递减。

【输入】

文本
$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))) mod 998244353f_{r-1}(f_{r-2}(...f_l(x))) \bmod 998244353 的值。

【输入样例】

文本
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

【输出样例】

文本
123
213
312
132
32

【输入样例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】

文本
123
314
435
653

【数据范围】

  • 1≤N≤1000001 \leq N \leq 100000
  • 1≤Q≤1000001 \leq Q \leq 100000
  • 0≤i<N0 \leq i < N
  • 0≤pi,p≤10000000000 \leq p_i, p \leq 1000000000
  • 所有 pi,pp_i, p(初始值以及查询 0 中给出的值)互不相同。
  • 1≤ai,a<9982443531 \leq a_i, a < 998244353
  • 0≤bi,b<9982443530 \leq b_i, b < 998244353
  • 0≤x<9982443530 \leq x < 998244353
  • 0≤l<r≤N0 \leq l < r \leq N

【来源】

Library Checker(yosupo06) point_set_range_sort_range_composite

数据下载

题目 30044 的公开数据

正在读取文件列表…

常用命令

题目 30044 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。