#3711. 例1-二维数组区间加法-差分1
例1-二维数组区间加法-差分1
题目描述:
给定一个大小为 \( n \times m \) 的矩阵,初始时所有元素均为 0。现有 ( k ) 次操作,每次操作给出 5 个整数 \( x_1, y_1, x_2, y_2, v \),表示对子矩阵区域 \([x_1, x_2] \times [y_1, y_2]\) 内的每个元素加上数值 \( v \)(行和列均从 1 开始)。请你使用二维差分数组的思想快速处理所有操作,最后输出更新后的矩阵。
输入格式:
- 第一行包含三个整数 \( n \)、\( m \) 和 \( k \)。
- 接下来 ( k ) 行,每行包含 5 个整数 \( x_1, y_1, x_2, y_2, v \)。
输出格式:
- 输出 \( n \) 行,每行 \( m \) 个整数,表示更新后的矩阵(同一行内数字之间用空格隔开)。
样例输入:
4 5 3
1 1 2 3 5
2 2 4 5 2
1 4 3 5 -3
样例输出:
5 5 5 -3 -3
5 7 7 -1 -1
0 2 2 -1 -1
0 2 2 2 2
样例说明:
- 操作 1: 对子矩阵 \([1,1] \times [1,3]\) 中的元素加 5
- 操作 2: 对子矩阵 \([2,4] \times [2,5]\) 中的元素加 2
- 操作 3: 对子矩阵 \([1,3] \times [4,5]\) 中的元素加 -3
最终矩阵各位置数值经过叠加后如样例输出所示。