#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
    最终矩阵各位置数值经过叠加后如样例输出所示。