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:

  1. 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).
  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×mn \times m 的矩阵。我们将矩阵的行编号为 11 到 nn,列编号为 11 到 mm。记第 ii 行、第 jj 列的单元格为 (i, j)(i,\,j)。矩阵中每个单元格可存放多个糖果,初始时所有单元格均为空。游戏共进行 ww 轮,在每一轮中,发生以下两种事件之一:

  1. 谢列亚选择五个整数 x1, y1, x2, y2, vx_1,\,y_1,\,x_2,\,y_2,\,v(满足 x1≤x2x_1 \le x_2,y1≤y2y_1 \le y_2),并向矩阵中所有满足 (i, j)(i,\,j)(其中 x1≤i≤x2x_1 \le i \le x_2 且 y1≤j≤y2y_1 \le j \le y_2)的单元格各添加 vv 颗糖果。
  2. 谢列亚选择四个整数 x1, y1, x2, y2x_1,\,y_1,\,x_2,\,y_2(满足 x1≤x2x_1 \le x_2,y1≤y2y_1 \le y_2)。接着他要求迪马计算所有满足 (i, j)(i,\,j)(其中 x1≤i≤x2x_1 \le i \le x_2 且 y1≤j≤y2y_1 \le j \le y_2)的单元格中糖果总数;同时要求茵娜计算矩阵中所有满足如下逻辑条件的单元格 (p, q)(p,\,q) 中的糖果总数:(p<x1 OR p>x2) AND (q<y1 OR q>y2)(p < x_1\ \text{OR}\ p > x_2)\ \text{AND}\ (q < y_1\ \text{OR}\ q > y_2)。最后,谢列亚要求写出迪马所得结果与茵娜所得结果之差(即 D−ID - 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.

输入的第一行包含三个整数 nn、mm 和 ww(3 ≤ n, m ≤ 4⋅1063 \leq n,\,m \leq 4\cdot10^6;1 ≤ w ≤ 1051 \leq w \leq 10^5)。

接下来的 ww 行描述了游戏中进行的操作。

  • 描述第一类事件的一行包含 6 个整数:0、x1x_1、y1y_1、x2x_2、y2y_2 和 vv(1 ≤ x1 ≤ x2 ≤ n1 \leq x_1 \leq x_2 \leq n;1 ≤ y1 ≤ y2 ≤ m1 \leq y_1 \leq y_2 \leq m;1 ≤ v ≤ 1091 \leq v \leq 10^9)。
  • 描述第二类事件的一行包含 5 个整数:1、x1x_1、y1y_1、x2x_2、y2y_2(2 ≤ x1 ≤ x2 ≤ n − 12 \leq x_1 \leq x_2 \leq n - 1;2 ≤ y1 ≤ y2 ≤ m − 12 \leq y_1 \leq y_2 \leq m - 1)。

保证至少会出现一次第二类操作。保证单次操作增加的糖果总数不超过 10910^9。

请注意,约束条件非常大,因此请使用最优的数据结构。最大规模的测试用例将包含在预测试中。

输出格式

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=85 + 0 + 3 + 0 = 8,Inna 的和为 4+1+0+1=64 + 1 + 0 + 1 = 6。该查询的答案为 8−6=28 - 6 = 2。对于第五次查询,Dima 的和为 00,Inna 的和为 18+2+0+1=2118 + 2 + 0 + 1 = 21。该查询的答案为 0−21=−210 - 21 = -21。

输入解题思路,AI测评打分。不知道怎么写?

首页