【题目描述】
给定二维平面上的 N 个带权点组成的初始多重集合 P=(P0,P1,…,PN−1)。每个点 Pi(0≤i<N)位于 (xi,yi),并具有权值 wi。请处理 Q 个如下类型的查询。对于第 i 个(0≤i<Q)查询:
0 $x$ $y$ $w$:在坐标 (x,y) 处添加一个权值为 w 的新点。设添加前 ∣P∣=k,则将该点记为 Pk。如果这些坐标处已经存在点,则将新点作为一个独立的实例添加。
1 $x$ $w$:将点 Px 的权值更新为 w(即 wx←w)。
2 $l$ $d$ $r$ $u$:求满足 l≤xi<r 且 d≤yi<u 的所有点的权值之和,结果对 998244353 取模。
3 $l$ $d$ $r$ $u$ $a$ $b$:对于所有满足 l≤xi<r 且 d≤yi<u 的 i,执行变换 wi←a⋅wi+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 的查询,输出一行一个整数,表示满足条件的所有点的权值之和对 998244353 取模后的结果。
【输入样例】
文本
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
【输出样例】
【数据范围】
- 1≤N≤100000
- 1≤Q≤100000
- 0≤xi,yi≤1000000000
- 0≤wi<998244353
对于每种查询类型:
- 类型
0:0≤x,y≤1000000000,0≤w<998244353
- 类型
1:0≤x<∣P∣,0≤w<998244353
- 类型
2:0≤l<r≤1000000000,0≤d<u≤1000000000
- 类型
3:0≤l<r≤1000000000,0≤d<u≤1000000000,0≤a,b<998244353
【来源】
Library Checker(yosupo06) dynamic_point_set_rectangle_affine_rectangle_sum