题目 30032

动态点赋值矩形仿射矩形求和

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

【题目描述】

给定二维平面上的 NN 个带权点组成的初始多重集合 P=(P0,P1,…,PN−1)P = (P_0, P_1, \dots, P_{N - 1})。每个点 PiP_i(0≤i<N0 \leq i < N)位于 (xi,yi)(x_i, y_i),并具有权值 wiw_i。请处理 QQ 个如下类型的查询。对于第 ii 个(0≤i<Q0\leq i < Q)查询:

  • 0 $x$ $y$ $w$:在坐标 (x,y)(x, y) 处添加一个权值为 ww 的新点。设添加前 ∣P∣=k|P| = k,则将该点记为 PkP_k。如果这些坐标处已经存在点,则将新点作为一个独立的实例添加。
  • 1 $x$ $w$:将点 PxP_x 的权值更新为 ww(即 wx←ww_x \gets w)。
  • 2 $l$ $d$ $r$ $u$:求满足 l≤xi<rl \leq x_i < r 且 d≤yi<ud \leq y_i < u 的所有点的权值之和,结果对 998244353998244353 取模。
  • 3 $l$ $d$ $r$ $u$ $a$ $b$:对于所有满足 l≤xi<rl \leq x_i < r 且 d≤yi<ud \leq y_i < u 的 ii,执行变换 wi←a⋅wi+bw_i \gets a \cdot w_i + b。

【输入】

输入格式如下:

文本
$N$ $Q$
$x_0$ $y_0$ $w_0$
$x_1$ $y_1$ $w_1$
$x_2$ $y_2$ $w_2$
$\hspace{17pt} \vdots$
$x_{N - 1}$ $y_{N - 1}$ $w_{N - 1}$
$\mathrm{Query}_0$
$\mathrm{Query}_1$
$\mathrm{Query}_2$
$\hspace{13pt} \vdots$
$\mathrm{Query}_{Q - 1}$

【输出】

对于每个类型为 2 的查询,输出一行一个整数,表示满足条件的所有点的权值之和对 998244353998244353 取模后的结果。

【输入样例】

文本
3 7
2 0 1
6 2 10
5 4 100
2 1 1 7 7
0 5 6 1000
0 5 1 10000
3 1 5 7 7 0 100000
1 1 1000000
2 5 4 7 5
2 5 1 7 7

【输出样例】

文本
110
100
1110100

【数据范围】

  • 1≤N≤1000001 \leq N \leq 100000
  • 1≤Q≤1000001 \leq Q \leq 100000
  • 0≤xi,yi≤10000000000 \leq x_i, y_i \leq 1000000000
  • 0≤wi<9982443530 \leq w_i < 998244353

对于每种查询类型:

  • 类型 0:0≤x,y≤10000000000 \leq x, y \leq 1000000000,0≤w<9982443530 \leq w < 998244353
  • 类型 1:0≤x<∣P∣0\leq x < |P|,0≤w<9982443530\leq w < 998244353
  • 类型 2:0≤l<r≤10000000000 \leq l < r \leq 1000000000,0≤d<u≤10000000000 \leq d < u \leq 1000000000
  • 类型 3:0≤l<r≤10000000000 \leq l < r \leq 1000000000,0≤d<u≤10000000000 \leq d < u \leq 1000000000,0≤a,b<9982443530 \leq a, b < 998244353

【来源】

Library Checker(yosupo06) dynamic_point_set_rectangle_affine_rectangle_sum

数据下载

题目 30032 的公开数据

正在读取文件列表…

常用命令

题目 30032 的 ROJ 命令

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