题目名称 3962. 快速矩阵操作
输入输出 fmo.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2024-04-17加入
开放分组 全部用户
提交状态
分类标签
线段树
分享题解
通过:0, 提交:0, 通过率:0%
关于 快速矩阵操作 的近10条评论(全部评论)

3962. 快速矩阵操作

★   输入文件:fmo.in   输出文件:fmo.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

有一个$r$行$c$列的全$0$矩阵,支持一下三种操作:

1 x1 y1 x2 y2 v:将子矩阵$(x1,y1,x2,y2)$的所有元素增加$v(v>0)$;

2 x1 y1 x2 y2 v:将子矩阵$(x1,y1,x2,y2)$的所有元素设为$v(v>0)$;

3 x1 y1 x2 y2:查询子矩阵$(x1,y1,x2,y2)$的元素和、最小值和最大值。

子矩阵$(x1,y1,x2,y2)$指的是满足$x1\leq x\leq x_2,y1\leq y\leq y_2$的所有元素$(x,y)$。

【输入格式】

输入包含若干组测试数据。对于每组测试数据:

第一行三个整数$r,c,m$,$r,c$表示矩阵的行和列,$m(1\leq m\leq 2\times 10^4)$表示操作的总数。

接下来$m$行,每行包括一个操作。

输入保证矩阵不超过20行,矩阵元素不超过$10^6$个,任意时刻矩阵所有元素之和不超过$10^9$。

【输出格式】

对于每个类型为$3$的操作,输入三个整数分别为查询的元素和、最小值和最大值。

【样例输入】

4 4 8
1 1 2 4 4 5
3 2 1 4 4
1 1 1 3 4 2
3 1 2 4 4
3 1 1 3 4
2 2 1 4 4 2
3 1 2 4 4
1 1 1 4 3 3

【样例输出】

45 0 5
78 5 7
69 2 7
39 2 7