CF390E.Inna and Large Sweet Matrix
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Inna loves sweets very much. That's why she wants to play the "Sweet Matrix" game with Dima and Sereja. But Sereja is a large person, so the game proved small for him. Sereja suggested playing the "Large Sweet Matrix" game.
The "Large Sweet Matrix" playing field is an n × m matrix. Let's number the rows of the matrix from 1 to n, and the columns — from 1 to m. Let's denote the cell in the i-th row and j-th column as (i, j). Each cell of the matrix can contain multiple candies, initially all cells are empty. The game goes in w moves, during each move one of the two following events occurs:
- Sereja chooses five integers _x_1, _y_1, _x_2, _y_2, v (_x_1 ≤ _x_2, _y_1 ≤ _y_2) and adds v candies to each matrix cell (i, j) (_x_1 ≤ i ≤ _x_2; _y_1 ≤ j ≤ _y_2).
- Sereja chooses four integers _x_1, _y_1, _x_2, _y_2 (_x_1 ≤ _x_2, _y_1 ≤ _y_2). Then he asks Dima to calculate the total number of candies in cells (i, j) (_x_1 ≤ i ≤ _x_2; _y_1 ≤ j ≤ _y_2) and he asks Inna to calculate the total number of candies in the cells of matrix (p, q), which meet the following logical criteria: (p < _x_1 OR p > _x_2) AND (q < _y_1 OR q > _y_2). Finally, Sereja asks to write down the difference between the number Dima has calculated and the number Inna has calculated (D - I).
Unfortunately, Sereja's matrix is really huge. That's why Inna and Dima aren't coping with the calculating. Help them!
茵娜非常喜欢糖果。因此,她想和迪马以及谢列亚一起玩“甜蜜矩阵”游戏。但谢列亚体型庞大,结果发现这个游戏对他来说太小了。于是谢列亚提议玩“大型甜蜜矩阵”游戏。
“大型甜蜜矩阵”的游戏场地是一个 n×m 的矩阵。我们将矩阵的行编号为 1 到 n,列编号为 1 到 m。记第 i 行、第 j 列的单元格为 (i,j)。矩阵中每个单元格可存放多个糖果,初始时所有单元格均为空。游戏共进行 w 轮,在每一轮中,发生以下两种事件之一:
- 谢列亚选择五个整数 x1,y1,x2,y2,v(满足 x1≤x2,y1≤y2),并向矩阵中所有满足 (i,j)(其中 x1≤i≤x2 且 y1≤j≤y2)的单元格各添加 v 颗糖果。
- 谢列亚选择四个整数 x1,y1,x2,y2(满足 x1≤x2,y1≤y2)。接着他要求迪马计算所有满足 (i,j)(其中 x1≤i≤x2 且 y1≤j≤y2)的单元格中糖果总数;同时要求茵娜计算矩阵中所有满足如下逻辑条件的单元格 (p,q) 中的糖果总数:(p<x1 OR p>x2) AND (q<y1 OR q>y2)。最后,谢列亚要求写出迪马所得结果与茵娜所得结果之差(即 D−I)。
不幸的是,谢列亚的矩阵真的非常巨大,因此茵娜和迪马无法完成这些计算。请帮助他们!
输入格式
The first line of the input contains three integers n, m and w (3 ≤ n, m ≤ 4·106; 1 ≤ w ≤ 105).
The next w lines describe the moves that were made in the game.
- A line that describes an event of the first type contains 6 integers: 0, _x_1, _y_1, _x_2, _y_2 and v (1 ≤ _x_1 ≤ _x_2 ≤ n; 1 ≤ _y_1 ≤ _y_2 ≤ m; 1 ≤ v ≤ 109).
- A line that describes an event of the second type contains 5 integers: 1, _x_1, _y_1, _x_2, _y_2 (2 ≤ _x_1 ≤ _x_2 ≤ n - 1; 2 ≤ _y_1 ≤ _y_2 ≤ m - 1).
It is guaranteed that the second type move occurs at least once. It is guaranteed that a single operation will not add more than 109 candies.
Be careful, the constraints are very large, so please use optimal data structures. Max-tests will be in pretests.
输入的第一行包含三个整数 n、m 和 w(3 ≤ n,m ≤ 4⋅106;1 ≤ w ≤ 105)。
接下来的 w 行描述了游戏中进行的操作。
- 描述第一类事件的一行包含 6 个整数:
0、x1、y1、x2、y2 和 v(1 ≤ x1 ≤ x2 ≤ n;1 ≤ y1 ≤ y2 ≤ m;1 ≤ v ≤ 109)。 - 描述第二类事件的一行包含 5 个整数:
1、x1、y1、x2、y2(2 ≤ x1 ≤ x2 ≤ n − 1;2 ≤ y1 ≤ y2 ≤ m − 1)。
保证至少会出现一次第二类操作。保证单次操作增加的糖果总数不超过 109。
请注意,约束条件非常大,因此请使用最优的数据结构。最大规模的测试用例将包含在预测试中。
输出格式
For each second type move print a single integer on a single line — the difference between Dima and Inna's numbers.
对于每种第二类操作,在单独一行输出一个整数——即迪马的数字与因娜的数字之差。
输入输出样例
输入#1
4 5 5 0 1 1 2 3 2 0 2 2 3 3 3 0 1 5 4 5 1 1 2 3 3 4 1 3 4 3 4
输出#1
2 -21
说明/提示
Note to the sample. After the first query the matrix looks as:
22200
22200
00000
00000
After the second one it is:
22200
25500
03300
00000
After the third one it is:
22201
25501
03301
00001
For the fourth query, Dima's sum equals 5 + 0 + 3 + 0 = 8 and Inna's sum equals 4 + 1 + 0 + 1 = 6. The answer to the query equals 8 - 6 = 2. For the fifth query, Dima's sum equals 0 and Inna's sum equals 18 + 2 + 0 + 1 = 21. The answer to the query is 0 - 21 = -21.
样例说明:第一次查询后,矩阵变为:
22200
22200
00000
00000
第二次查询后,矩阵变为:
22200
25500
03300
00000
第三次查询后,矩阵变为:
22201
25501
03301
00001
对于第四次查询,Dima 的和为 5+0+3+0=8,Inna 的和为 4+1+0+1=6。该查询的答案为 8−6=2。对于第五次查询,Dima 的和为 0,Inna 的和为 18+2+0+1=21。该查询的答案为 0−21=−21。
输入解题思路,AI测评打分。不知道怎么写?