題目:求和問題
描述:【問題描述】
在乙個長度為n的整數數列中取出連續的若干個數,並求它們的和。
【輸入格式】
輸入由若干行組成,第一行有乙個整數n
第二行有n個整數
第三行有乙個整數m
下面m行,每行兩個整數i與j(i<=j),表示求和的起始和終止位置。
【輸出格式】
輸出有m行, 每行乙個整數,表示這個數段數列的和。
【輸入樣例】
輸入檔案
82 3 4 7 8 9 10 234
52 3
4 71 3
7 7
7 8
輸出檔案
7 34
910
244
【資料規模】
對於40%的資料,n<=1000,m<=1000,數列中的數不超過32767,數列的和不超過10^9
對於70%的資料,n<=10000,m<=2*10^5,數列中的數不超過32767
對於100%的資料,n<=10000,m<=2*10^5,數列中的數不超過10^9
ac**:
樹狀陣列 是乙個查詢和修改複雜度都為log n 的資料結構,假設陣列a 1.n 那麼查詢a 1 a n 的時間是 log n 級別的。所以如果要解決 陣列中的元素不斷被修改,怎麼才能快速地獲取陣列中連續m個數的和 這個問題的話,用樹狀陣列就再好不過了 首先,什麼是樹狀陣列呢?樹狀陣列就是用另外乙個陣... 輸入乙個數列a1,a2 an 1 n 100000 在數列上進行m 1 m 100000 次操作,操作有以下兩種 1 格式為c i x,其中c為字元 c i和x 1 i n,x 10000 都是整數,表示把把a i 改為x 2 格式為q l r,其中q為字元 q l和r表示詢問區間為 l,r 1 l... 輸入乙個數列a1,a2 an 1 n 100000 在數列上進行m 1 m 100000 次操作,操作有以下兩種 1 格式為c i x,其中c為字元 c i和x 1 i n,x 10000 都是整數,表示把把a i 改為x 2 格式為q l r,其中q為字元 q l和r表示詢問區間為 l,r 1 l...樹狀陣列 區間求和
樹狀陣列入門(求和)
樹狀陣列入門(求和)