QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 512 MB Total points: 100
[-5]
Statistics

题目描述

你需要维护平面上的整点,每个点初始有点权 0,共 m 次操作。

修改操作:给定 x,y,d,w,将满足 |Xx|<d,|Yy|<d 的整点 (X,Y) 的点权增加 w(dmax

查询操作:给定 x_1,x_2,y_1,y_2,查询满足 x_1\le X\le x_2,\;y_1\le Y\le y_2 的整点 (X,Y) 的点权之和,答案对 2^{30} 取模。

输入格式

从标准输入读入数据。

第一行一个整数 m,接下来 m 行,每行表示一个操作。

修改操作表示为 1 x y d w

查询操作表示为 2 x1 x2 y1 y2

输出格式

输出到标准输出。

对每个查询操作,输出一行,包含一个整数,表示取模后的答案。

样例数据

样例输入

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

子任务

对于 23\% 的数据,满足 1\le m\le 10^3

对于 31\% 的数据,满足 1\le m\le 2\times 10^4

对于 39\% 的数据,满足 1\le m\le 4\times 10^4

对于 47\% 的数据,满足 1\le m\le 6\times 10^4

对于 55\% 的数据,满足 1\le m\le 8\times 10^4

对于另外 15\% 的数据,满足对任意询问操作,不存在一个修改操作,该修改操作在该询问操作之后。

对于另外 10\% 的数据,满足 x_2-x_1\le 5y_2-y_1\le 5d\le 5

对于另外 10\% 的数据,满足 d\le 5

对于 100\% 的数据,满足 1\le m\le 10^51\le x_1\le x_2\le {10}^81\le y_1\le y_2\le {10}^81\le x,y,d,w\le {10}^8

每类数据构成子任务。