跳转至

分批更新的矩形最大值

时间限制:4 秒;内存限制:512 MiB。时限按目标环境标准程序最慢中位数乘2,向上取整至0.5秒;见评测环境。

背景故事

温室管理员用一个矩形网格记录各区的温度偏差。传感器会成批上传区域修正,管理员则查询一块区域内的最大偏差,决定下一轮通风安排。

(本故事由GPT-6重写)

形式化问题描述

给定 \(n\) 行 \(m\) 列的整数矩阵,依次处理 \(Q\) 个操作:

  • 1 x1 y1 x2 y2 v :给闭矩形 \([x_1,x_2]\times[y_1,y_2]\) 内每个单元格加上 \(v\) .
  • 2 x1 y1 x2 y2 :输出该闭矩形内的最大值。

行列下标都从1开始,端点有序。矩阵值和增量可以为负数。极大连续修改段指操作序列中连续的一段类型1操作,且不能向前或向后再扩展一个类型1操作。这样的段数最多为20;相邻查询之间可以有任意多次修改。

输入格式

第一行 n m Q .接下来 \(n\) 行,每行 \(m\) 个初始值。接下来 \(Q\) 行,每行是上述一种操作。

输出格式

每个类型2操作输出一行一个整数。

样例 1

输入

2 3 5
1 -2 3
4 5 -6
2 1 1 2 3
1 1 2 2 3 7
1 2 1 2 2 -10
2 1 1 2 3
2 2 1 2 3

输出

5
10
2

样例 2

输入

1 1 3
-20000
1 1 1 1 1 -20000
2 1 1 1 1
2 1 1 1 1

输出

-40000
-40000

样例 3

输入

1 3 3
0 10 20
1 1 1 1 3 3
2 1 2 1 2
2 1 1 1 3

输出

13
23

样例解释

样例1经过两次修改后,矩阵两行分别为 \([1,5,10]\) 和 \([-6,2,1]\) .全局最大值为10,第二行最大值为2。样例2说明答案可以为负数。

示意图

样例1的初始矩阵和完成两次修改后的矩阵。

数据范围与分值

\(1\le n,m\) ,\(nm\le10^7\) ,\(1\le Q\le10^5\) ,\(|a_{ij}|,|v|\le20000\) ,\(1\le x_1\le x_2\le n\) ,\(1\le y_1\le y_2\le m\) .极大连续修改段数不超过20。

分值 额外限制
20% \(nm\le100,\ Q\le100\)
30% \(nm\le10^5,\ Q\le5000\)
50% 无额外限制

共10个测试点,每点占10%;完整配方见测试说明。