#L5310. 「CTS2022」回

    ID: 4660 传统题 2000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>数据结构树状数组组合数学容斥原理计算几何坐标变换CDQ 分治扫描线

「CTS2022」回

题目描述

需维护平面上的整点,所有点初始点权为 00,共 mm 次操作,分为两类:

  1. 修改操作:给定 x,y,d,wx,y,d,w,对满足 Xx<d|X-x| < dYy<d|Y-y| < d 的所有整点 (X,Y)(X,Y),将其点权增加 w(dmax(Xx,Yy))w \cdot (d - \max(|X-x|, |Y-y|))
  2. 查询操作:给定 x1,x2,y1,y2x_1,x_2,y_1,y_2,计算满足 x1Xx2x_1 \leq X \leq x_2y1Yy2y_1 \leq Y \leq y_2 的所有整点 (X,Y)(X,Y) 的点权之和,结果对 2302^{30} 取模。

输入格式

从标准输入读入数据,格式如下:

  1. 第一行:一个整数 mm(操作总次数);
  2. 接下来 mm 行:每行表示一次操作:
    • 若为修改操作,格式为 1 x y d w1x,y,d,w1081 \leq x,y,d,w \leq 10^8);
    • 若为查询操作,格式为 2 x1 x2 y1 y21x1x21081 \leq x1 \leq x2 \leq 10^81y1y21081 \leq y1 \leq y2 \leq 10^8)。

输出格式

输出到标准输出,对每个查询操作,输出一行整数,表示该查询的结果(对 2302^{30} 取模)。

样例

输入

5
1 3 4 5 1
2 1 4 3 5
1 2 4 2 2
2 4 5 3 5
1 4 4 4 8

输出

46
21

样例解释

  1. 第一次修改操作(x=3,y=4,d=5,w=1x=3,y=4,d=5,w=1):对 X(2,8)X \in (-2,8)Y(1,9)Y \in (-1,9) 的整点,按规则增加权值;
  2. 第一次查询(X[1,4],Y[3,5]X \in [1,4], Y \in [3,5]):计算该矩形内所有点的权值和,结果为 4646
  3. 第二次修改操作(x=2,y=4,d=2,w=2x=2,y=4,d=2,w=2):对 X(0,4)X \in (0,4)Y(2,6)Y \in (2,6) 的整点,按规则增加权值;
  4. 第二次查询(X[4,5],Y[3,5]X \in [4,5], Y \in [3,5]):计算该矩形内所有点的权值和,结果为 2121
  5. 第三次修改操作无后续查询,无需输出。

数据范围与提示

数据比例 约束条件
23% 1m1031 \leq m \leq 10^3
31% 1m2×1041 \leq m \leq 2 \times 10^4
39% 1m4×1041 \leq m \leq 4 \times 10^4
47% 1m6×1041 \leq m \leq 6 \times 10^4
55% 1m8×1041 \leq m \leq 8 \times 10^4
另外 15% 所有查询操作均在修改操作之后(无在线修改与查询交替)
另外 10% 查询矩形的长和宽均 5\leq 5,且修改操作的 d5d \leq 5
所有修改操作的 d5d \leq 5
100% 1m1051 \leq m \leq 10^5,坐标与参数均 108\leq 10^8