acwing796 子矩陣的和

2022-09-18 15:24:16 字數 756 閱讀 2402

照搬題解的圖。

維護s[i][j]陣列用於儲存矩陣點和其左上角的值,則求某一點的字首和為:

黃色框減去兩個紫框加上補回重疊部分的框。

即s[x2, y2] - s[x1 - 1, y2] - s[x2, y1 - 1] + s[x1 - 1, y1 - 1]

此外,s[i][j]可以用遞推方式求出,即

紫框加紫框補回重疊的橙框加上x2,y2的值

#include using namespace std;

int n, m, q;

int a[1001][1001];

int s[1001][1001];

int ans(int x1,int y1,int x2,int y2)

int main(int argc, char* ar**)

} int x1, x2, y1, y2;

while (q--)

return 0;

}

本來以為是簡單題,結果白給。明天要寫什麼題未知,看好多題都好難不想寫哇哇

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...

acwing 796 子矩陣的和

輸入乙個 n 行 m 列的整數矩陣,再輸入 q 個詢問,每個詢問包含四個整數 x1,y1,x2,y2,表示乙個子矩陣的左上角座標和右下角座標。對於每個詢問輸出子矩陣中所有數的和。輸入格式 第一行包含三個整數 n,m,q。接下來 n 行,每行包含 mm 個整數,表示整數矩陣。接下來 q 行,每行包含四...