Acwing演算法基礎 2 5 字首和

2021-10-22 02:11:37 字數 1093 閱讀 3692

如何求 si:略

si 用來幹嘛的?

很簡單

#include

輸入乙個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

const

int n =

1010

;int n, m, q;

int a[n]

[n], s[n]

[n];

intmain()

}for

(int i =

1; i <= n;

++i)

}while

(q--

)return0;

}

演算法基礎課 字首和

通常,求乙個陣列中間序列的和,可以遍歷一次,這樣的時間複雜度是o n 如果需要頻繁獲得這個和,那麼每次都要重新計算一遍。為了提高效率,可以提前計算乙個字首和陣列,每次查詢任意乙個區間的和時,用s right s left 就可以了。輸入乙個長度為n的整數序列。接下來再輸入m個詢問,每個詢問輸入一對l...

AcWing演算法基礎1 5

字首和與差分 兩個內容都比較少,就放一起寫了 設陣列 a 的前 n 項為a1 a2 a3 an 字首和陣列就是每一項是a陣列的前i項和,比如字首和陣列res,res 1 a 1 res 2 a 1 a 2 res n a 1 a 2 a n 字首和可以在o 1 的時間內計算一段區間內的累加和,比如區...

AcWing演算法基礎1 4

高精度 高精度加法,高精度減法,高精度乘低精度,高精度除以低精度,大概平時用的最多的就是這四個,模板有兩種 因為我現在不太會用vector,就用陣列也寫了個,23333 高精度運算和人工手算差不多,就是模擬人工手算的過程,乘法有點不一樣,在下面有提到,大致也是模擬運算 廢話不多說,上模板 高精度加法...