洛谷p3374 樹狀數組1 - 單點修改 區間求和
阿新 • • 發佈:2019-02-18
amp clu space 1-1 name == con sin namespace
樹狀數組最基本應用吧
//ios::sync_with_stdio(false); #include<bits/stdc++.h> using namespace std; const int MAXN = 500010; int n,m; int C[MAXN]; int lowbit(int x) { return x&-x; } void add(int i,int val) { while(i<=n){ C[i]+=val; i +=lowbit(i); } } int sum(int i) { int s = 0; while(i>0){ s+=C[i]; i-=lowbit(i); } return s; } int main(){ cin >> n >> m; int num1,num2,op; for(int i=1;i<=n;++i){ cin >> num1; add(i,num1); } for(int i=0;i<m;++i){ cin >> op >> num1 >> num2; if(op==1){ add(num1,num2); } else{ cout << sum(num2) - sum(num1-1) <<endl; } } return 0; }
洛谷p3374 樹狀數組1 - 單點修改 區間求和