/ Vijos / 题库 /

区间修改区间查询

区间修改区间查询

时间限制:1秒  内存限制:256N


【问题描述】

  给定一个 \(m\) 行 \(n\) 列的矩阵 \(a[i][j]\),初始矩阵所有元素都为 0。在这个矩阵上进行如下操作:
  \(1\ x\ y\ d\) : 把矩阵的第 \(x\) 行第 \(y\) 列元素增加 \(d(1≤x≤n,1≤y≤m,|d|≤10^9)\)。
  \(2\ lx\ ly\ rx\ ry\):计算左上角为 \((lx,ly)\),右下角为 \((rx,ry)\) 的子矩阵中所有元素的和\((1≤lx≤rx≤n,1≤ly≤ry≤m)\)。
  现在请你设计一种数据结构,尽量快地完成上面操作。

【输入格式】

  第一行包含两个整数:\(m,n\),表示矩阵A的行数和列数。
  第二行包含一个整数:\(k\),表示操作次数。
  接下来的 \(k\) 行,每行的数据表示一个操作格式如题目描述。

【输出格式】

  包含若干行,每含一个整数,表示输入中操作 \(2\) 的计算结果。

【输入输出样例】

 Input

3 4
6
1 2 3 2
1 1 3 1
2 1 1 3 4
1 3 1 5
1 2 4 3
2 2 2 3 4

 Output

3
5

【数据说明】

  对于 \(100\%\) 的数据:\(1≤m,n≤1000,0<k≤100000\)。

【来源】

   Mr.he

信息

ID
3147
难度
9
分类
数据结构 | 线段树树状数组 点击显示
标签
(无)
递交数
1
已通过
1
通过率
100%
被复制
2
上传者