洛谷P2068 統計和

2022-04-30 23:48:27 字數 1016 閱讀 2180

給定乙個長度為\(n(n \leq 100000)\),初始值都為\(0\)的序列,\(x(x \leq 10000)\)次的修改某些位置上的數字,每次加上乙個數,然後提出\(y (y \leq 10000)\)個問題,求每段區間的和。時間限制\(1\)秒。

輸入格式:

第一行\(1\)個數,表示序列的長度\(n\)

第二行\(1\)個數,表示操作的次數\(w\)

後面依次是\(w\)行,分別表示加入和詢問操作

其中,加入用\(x\)表示,詢問用\(y\)表示

\(x\)的格式為"\(x\)

\(a\)

\(b\)" 表示在序列\(a\)的位置加上\(b\)

\(y\)的格式為"\(y\)

\(a\)

\(b\)" 表示詢問\(a\)到\(b\)區間的加和

輸出格式:

每行乙個數,分別是每次詢問的結果

輸入樣例#1:

5

4x 3 8

y 1 3

x 4 9

y 3 4

輸出樣例#1:

8

17

思路:一道(線段樹&樹狀陣列)的(單點修改&區間查詢)的板子題,不用過多解釋……

**:

#include#include#define maxn 100007

#define lb(x) x&(-x)

using namespace std;

int n,m,a[maxn];

char s[2];

inline void add(int x, int w)

} inline int csum(int x)

return ans;

}int main()

return 0;

}

洛谷P2068 統計和題解

給定乙個長度為n n 100000 初始值都為0的序列,x x 10000 次的修改某些位置上的數字,每次加上乙個數,然後提出y y 10000 個問題,求每段區間的和。時間限制1秒。第一行1個數,表示序列的長度n 第二行1個數,表示操作的次數w 後面依次是w行,分別表示加入和詢問操作 其中,加入用...

線段樹入門 P2068 統計和

題目描述 給定乙個長度為n n 100000 初始值都為0的序列,x x 10000 次的修改某些位置上的數字,每次加上乙個數,然後提出y y 10000 個問題,求每段區間的和。時間限制1秒。輸入輸出格式 輸入格式 第一行1個數,表示序列的長度n 第二行1個數,表示操作的次數w 後面依次是w行,分...

洛谷2068 統計和

給定乙個長度為n n 100000 初始值都為0的序列,x x 10000 次的修改某些位置上的數字,每次加上乙個數,然後提出y y 10000 個問題,求每段區間的和。時間限制1秒。輸入格式 第一行1個數,表示序列的長度n 第二行1個數,表示操作的次數w 後面依次是w行,分別表示加入和詢問操作 其...