5955: 进阶2.3.4 矩形区域查询

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:32 解决:17

题目描述

把一个矩阵分为S*S的方格,初始化为0,每次将(x, y)格子里增加a,或者求l<=x<=r&&b<=y<=t的矩阵内方格中数的和。

输入

输入以整数形式从标准输入读取,查询的答案以整数形式写入标准输出。输入编码如下。每个输入都在一个单独的行上,由一个指令整数和一些参数整数组成。

即:0为初始化S*S的格子值为0
1为在(X,Y)点加A
2为询问在所给区间内的总和为多少
3为结束程序


格子的大小 1 * 1 <= S * S <= 1024 * 1024
任何时候一个格子中的值 0 <= V <= 32767
每次累加的值 -32768 <= A <= 32767
指令的数量 3 <= U <= 60002
所有格子的总和 M= 2^30

输出

你的程序不应该对2以外的指令行做出任何回应。如果指令是2,那么您的程序将通过将答案作为包含单个整数的一行写入标准输出来回答查询。

样例输入 复制

0 4
1 1 2 3
2 0 0 2 2 
1 1 1 2
1 1 2 -1
2 1 1 2 3 
3

样例输出 复制

3
4