1547:【 例 1】區間和
時間限制: 1000 ms 記憶體限制: 524288 kb
提交數: 2072 通過數: 639
【題目描述】
給定一數列,規定有兩種操作,一是修改某個元素,二是求區間的連續和。
【輸入】
輸入資料第一行包含兩個正整數n,m(n≤100000,m≤500000),以下是m行,
每行有三個正整數k,a,b(k=0或1,a,b≤n).k=0時表示將a處數字加上b,k=1時表示詢問區間[a,b]內所有數的和。
【輸出】
對於每個詢問輸出對應的答案。
【輸入樣例】
10 20
0 1 10
1 1 4
0 6 6
1 4 10
1 8 9
1 4 9
0 10 2
1 1 8
0 2 10
1 3 9
0 7 8
0 3 10
0 1 1
1 3 8
1 6 9
0 5 5
1 1 8
0 4 2
1 2 8
0 1 1
【輸出樣例】106
06166
2414
5041
#include
#define ll long long
using
namespace std;
const
int n=
1e5+5;
int n,m,a[n]
,k,x,y;
struct node
tree[
4*n]
;void
push_up
(int id)
void
build
(int id,
int l,
int r)
int mid=
(l+r)/2
;build
(id*
2,l,mid)
;build
(id*2+
1,mid+
1,r)
;push_up
(id);}
void
update
(int id,
int x,
int k)
if(x<=tree[id*2]
.r)else
push_up
(id);}
ll query
(int id,
int l,
int r)
intmain()
return0;
}
線段樹單點修改區間查詢
這是一道模板題。給定數列 a 1 a 2 a n 你需要依次進行 qq 個操作,操作有兩類 1 i x 給定 i,x,將 a i 加上 x 2 l r 給定 l,r,求 ri la i 的值 換言之,求 a l a l 1 a r 的值 input 第一行包含 2 個正整數 n,q,表示數列長度和詢...
I Hate It 線段樹 單點修改 區間查詢
time limit 9000 3000 ms j a others memory limit 32768 32768 k j a others total submission s 40034 accepted submission s 15898 很多學校流行一種比較的習慣。老師們很喜歡詢問,從...
HDU1166 線段樹 單點修改區間查詢
c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的一清二楚,每個工兵營地的人數都有可能發生...