#D. 二维差分数组模版

    传统题 1000ms 256MiB

二维差分数组模版

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给定一个 n {n}m {m} 列的整数矩阵,要求:

  • 1. 输入 p {p} 个操作,每个操作包含五个整数 x1,y1,x2,y2,c {x1,y1,x2,y2,c},其中 (x1,y1) {(x1,y1)}(x2,y2) {(x2,y2)} 表示一个子矩阵的左上角坐标和右下角坐标,每个操作都要将选中的子矩阵中的每个元素的值加上 c {c}
  • 2. 请你将进行完所有操作后的矩阵输出。
  • 3. 然后是个 q {q} 查询操作,每个操作包含四个整数 x1,y1,x2,y2 {x1,y1,x2,y2},其中 (x1,y1) {(x1,y1)}(x2,y2) {(x2,y2)} 表示一个子矩阵的左上角坐标和右下角坐标,请给出该子矩阵中所有元素的和。

输入格式

第一行包含整数 n,m,p,q {n,m,p,q}

接下来 n {n} 行,每行包含 m {m} 个整数,表示整数矩阵。

接下来 p {p} 行,每行包含 5 {5} 个整数 x1,y1,x2,y2,c {x1,y1,x2,y2,c},表示一个操作。

接下来 q {q} 行,每行包含 4 {4} 个整数 x1,y1,x2,y2 {x1,y1,x2,y2},表示一个查询操作。

输出格式

n+q {n+q} 行,前n行每行 m {m} 个整数,表示所有操作进行完毕后的最终矩阵。 后 q {q} 行每行每行 1 {1} 个整数,表示对应查询操作的结果

样例

输入样例

3 4 3 2
1 2 2 1
3 2 2 1
1 1 1 1
1 1 2 2 1
1 3 2 3 2
3 1 3 4 1
1 1 2 2
2 2 3 4

输出样例

2 3 4 1
4 3 4 1
2 2 2 2
12
14

数据范围与提示

1n,m1000{1≤n,m≤1000},

1p,q100000{1≤p,q≤100000},

1x1x2n{1≤x1≤x2≤n},

1y1y2m{1≤y1≤y2≤m},

1000c1000{−1000≤c≤1000},

1000{−1000≤} 矩阵内元素的值矩阵内元素的值 1000{≤1000}

前缀和 & 差分

未认领
状态
已结束
题目
8
开始时间
2022-9-30 0:00
截止时间
2022-12-31 23:59
可延期
168 小时