輸入乙個n行m列的整數矩陣,再輸入q個詢問,每個詢問包含四個整數x1, y1, x2, y2,表示乙個子矩陣的左上角座標和右下角座標。
對於每個詢問輸出子矩陣中所有數的和。
第一行包含三個整數n,m,q。
接下來n行,每行包含m個整數,表示整數矩陣。
接下來q行,每行包含四個整數x1, y1, x2, y2,表示一組詢問。
共q行,每行輸出乙個詢問的結果。
1≤n,m≤1000,
1≤q≤200000,
1≤x1≤x2≤n,
1≤y1≤y2≤m,
−1000≤矩陣內元素的值≤1000
3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
2 1 3 4
1 3 3 4
1727
21二維字首和模板題
#include
using
namespace std;
const
int maxn=
1010
;int n,m,q;
int a[maxn]
[maxn]
,s[maxn]
[maxn]
;int
main()
}while
(q--
)return0;
}
AcWing 796 子矩陣的和
題目描述 輸入乙個n行m列的整數矩陣,再輸入q個詢問,每個詢問包含四個整數x1,y1,x2,y2,表示乙個子矩陣的左上角座標和右下角座標。對於每個詢問輸出子矩陣中所有數的和。輸入格式 第一行包含三個整數n,m,q。接下來n行,每行包含m個整數,表示整數矩陣。接下來q行,每行包含四個整數x1,y1,x...
AcWing 796 子矩陣的和
題目描述 輸入乙個n行m列的整數矩陣,再輸入q個詢問,每個詢問包含四個整數x1,y1,x2,y2,表示乙個子矩陣的左上角座標和右下角座標。對於每個詢問輸出子矩陣中所有數的和。輸入格式 第一行包含三個整數n,m,q。接下來n行,每行包含m個整數,表示整數矩陣。接下來q行,每行包含四個整數x1,y1,x...
acwing796 子矩陣的和
照搬題解的圖。維護s i j 陣列用於儲存矩陣點和其左上角的值,則求某一點的字首和為 黃色框減去兩個紫框加上補回重疊部分的框。即s x2,y2 s x1 1,y2 s x2,y1 1 s x1 1,y1 1 此外,s i j 可以用遞推方式求出,即 紫框加紫框補回重疊的橙框加上x2,y2的值 inc...