#1251. 【例题6】矩阵修改矩阵查询

【例题6】矩阵修改矩阵查询

当前没有测试数据。

【例题6】矩阵修改矩阵查询

题目描述

给定一个大小为N×MN \times M的零矩阵,直到输入文件结束,你需要进行若干个操作,操作有两类:

  • 11 aa bb cc dd xx,表示将左上角为(a,b)(a,b),右下角为(c,d)(c,d)的子矩阵全部加上xx
  • 22 aa bb cc dd,表示询问左上角为(a,b)(a,b),右下角为(c,d)(c,d)为顶点的子矩阵的所有数字之和。

输入格式

第一行两个正整数nnmm,其中nnmm分别表示矩阵的行数与列数。

接下来若干行直到文件结束,均代表你需要进行的操作。

输出格式

对于每个22操作,输出一行代表查询的结果。

数据范围与提示

  • 对于10%10\%的数据,1n,m161 \leq n,m \leq 16,操作不超过200200个;
  • 对于60%60\%的数据,1n,m5121 \leq n,m \leq 512
  • 对于100%100\%的数据,1n,m20481 \leq n,m \leq 2048x500|x| \leq 500,操作不超过2×1052 \times 10^5个,保证运算过程中及最终结果均不超过6464位带符号整数类型的表示范围,并且修改与查询的子矩阵存在。

样例

4 4
1 1 1 3 3 2
1 2 2 4 4 1
2 2 2 3 3
12