51 Nod 1081 字段求和(線段樹 字首和)

2021-08-28 04:09:18 字數 931 閱讀 7874

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行:乙個數n,n為陣列的長度(2 <= n <= 50000)。

第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)

output

共q行,對應q次查詢的計算結果。
input示例

513

79-14

1 22 2

3 21 5

output示例

4

1016

19

這道題就是求區間和,樹狀陣列的雛形,沒有對點的權值的修改,還算簡單。

#include#define ll long long

using namespace std;

ll a[50005];

int main()

// for(int i=1;i<=n;i++)

// cout<>q;

for(int i=0;i>j>>l;

printf("%lld\n",a[j+l-1]-a[j-1]);

}return 0;

}

51nod1081欄位求和

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 子段求和

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 子段求和

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