1081 子段求和
給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。
例如,1 3 7 9 -1,查詢第2個元素開始長度為3的子段和,1 -1。3 + 7 + 9 = 19,輸出19。
input
第1行:乙個數n,n為陣列的長度(2 <= n <= 50000)。output第2 至 n + 1行:陣列的n個元素。(-10^9 <= n[i] <= 10^9)
第n + 2行:1個數q,q為查詢的數量。
第n + 3 至 n + q + 2行:每行2個數,i,l(1 <= i <= n,i + l <= n)
共q行,對應q次查詢的計算結果。字首和
#include usingnamespace
std;
const
int maxn = 50010
;typedef
long
long
ll;int
n,k;
ints[maxn];
ll sum [maxn];
intmain ()
scanf("%d
", &k);
for(int i=1;i <= k;i++)
return0;
}
樹狀陣列
#include usingnamespace
std;
const
int maxn = 50010
;typedef
long
long
ll;int
n,k;
ll bit[maxn];
void update(int i,intd)}
ll sum (
inti)
returns;}
intmain ()
scanf("%d
", &k);
for(int i=1;i <= k;i++)
return0;
}
51nod 1081 子段求和
1081 子段求和 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。例如,1 3 7 9 1,查詢第2個元素開始長度為3的子段和,1 1。3 7 9 19,輸出19。input 第1行 ...
51 nod 1081 子段求和
1081 子段求和 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。例如,1 3 7 9 1,查詢第2個元素開始長度為3的子段和,1 1。3 7 9 19,輸出19。input 第1行 ...
51nod 1081 子段求和
給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。例如,1 3 7 9 1,查詢第2個元素開始長度為3的子段和,1 1。3 7 9 19,輸出19。input 第1行 乙個數n,n為陣列的長度 2 n 50000 第2 至 n 1行 陣列的n個元素。10 9 n ...