#130. 「Mokia」 莫基亚

「Mokia」 莫基亚

有一个 W×WW \times W 的矩阵,所有格子的初始值均为 SS

现在要对该矩阵进行一系列操作。

每次操作可以增加某格子的权值,或询问某子矩阵的总权值。

对于每个询问操作,请你输出被询问子矩阵的总权值是多少。

输入格式

第一行两个整数 S,WS,W,其中 SS 为矩阵初始值,WW 为矩阵大小。

接下来每行为以下三种输入之一:

1 x y a1\ x\ y\ a”——把第 xx 行第 yy 列的格子 (x,y)(x,y) 权值增加 aa
2 x_1 y_1 x_2 y_22\ x\_1\ y\_1\ x\_2\ y\_2”——询问以 (x_1,y_1)(x\_1,y\_1) 为左下角,(x_2,y_2)(x\_2,y\_2) 为右上角的矩阵内所有格子的权值和;
33”——输入结束。

输出格式

对于每个询问(即第二种输入),输出一行表示答案。

数据范围

修改操作数M160000M \le 160000,询问次数Q10000Q \le 10000W2000000W \le 2000000,1a100001 \le a \le 10000
1x_1x_2W1 \le x\_1 \le x\_2 \le W,
1y_1y_2W1 \le y\_1 \le y\_2 \le W,
所有数据的矩阵初始值 SS 均为 00

输入样例:

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

输出样例:

3
5

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解