字首和高階(今天有點高產)

2022-08-12 23:36:15 字數 1096 閱讀 8899

當字首和高階到二維陣列時,就需要進行一些想象,假設有個矩陣,水平方向向右時x軸的正方向,豎直方向向下是y軸正方向,如此若要表示以下x1,y1和x2,y2(預設x2,y2分別大於x1,y1)兩個點間的數字之和,則可以先將原點到x2,y2的數字之和減去原點到x1-1,x2的數字之和再減去原點到x2,y1-1的數字之和,最後加上減去的重複區域的數字之和即原點到x1-1,y1-1的數字之和,便可以求得這兩個點間的數字之和。

具體題目:

輸入乙個n行m列的整數矩陣,再輸入q個詢問,每個詢問包含四個整數x1, y1, x2, y2,表示乙個子矩陣的左上角座標和右下角座標。

對於每個詢問輸出子矩陣中所有數的和。

輸入格式

第一行包含三個整數n,m,q。

接下來n行,每行包含m個整數,表示整數矩陣。

接下來q行,每行包含四個整數x1, y1, x2, y2,表示一組詢問。

輸出格式

共q行,每行輸出乙個詢問的結果。

資料範圍1≤

n,m≤

1000

'>1≤n,m≤10001≤

q≤200000

'>1≤q≤2000001≤

x1≤x

2≤n'>1≤x1≤x2≤n,1

≤y1≤

y2≤m

'>1≤y1≤y2≤m

−1000≤矩

陣內元素

的值≤1000

'>−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

輸出樣例:
17

2721

ac**:

#include

using namespace std;

int a[1010][1010];

int s[1010][1010];

int main()

}while(q--)

} 結束結束結束!!!!

今天有點墮落

早上7點多還是起不來,又一覺睡到了9點多。10點多,我拿著昨晚準備好的習題給豬豬,她今天早上7點多就去教學樓學習啊,慚愧啊!跑去教學樓,她說在5棟110。暈 剛開始我就懷疑,5棟怎麼忽然間多了那麼多的教室。我就徑直去了5棟,哪知剛到5棟,她又發資訊說,我去了6棟105。這麼久了,還是分不出來哪棟是哪...

大二周賽之今天有點不開心

第一題 於poj3690 題意 給出乙個n m的矩陣,矩陣中只有一些 或者0,n 1000,m 1000,然後有t t 100 個詢問,每次詢問給出乙個p q的矩陣,p,q是提前固定的數值,問這些詢問中能是大矩陣的子矩陣的有幾個。解法 hash.把每一行連續的p個數hash成乙個long long ...

今天有點暈,碰到了好幾個老朋友,談了不少話

第乙個算陳偉了,這 已經 年沒見了,不知道混得如何,應該還不錯吧 他也是要考研,但偶不想,然後談了些關鍵工作和考研的事情,呵呵,偶這樣就他一級,以後出來混了也可以給他長長經驗嘛 然後和金剛 他說他也不考,但想進外企,可惜英語呀,心中的痛,口試沒法過關 他不想再幹 了,太累人了,並且看不到頭 偶的想法...