1 #include<iostream>
2 #include<cstdio>
3
4 using namespace std;
5 const int N=10001;
6
7 int n,m;
8 int a[N],T[N];
9 int z,x,y;
10
11 int LB(int x)
12 {
13 return x&(-x);
14 }
15
16 void add(int x,int y)
17 {
18 while(x<=n)
19 {
20 T[x]+=y;
21 x+=LB(x);
22 }
23 return ;
24 }
25
26 int sum(int x)
27 {
28 int ans=0;
29 while(x)
30 {
31 ans+=T[x];
32 x-=LB(x);
33 }
34 return ans;
35 }
36
37 int main()
38 {
39 cin>>n;
40 for(int i=1;i<=n;i++)
41 {
42 cin>>a[i];
43 add(i,a[i]);
44 }
45 cin>>m;
46 for(int i=1;i<=m;i++)
47 {
48 cin>>z>>x>>y;
49 if(z==1)add(x,y);
50 else cout<<sum(y)-sum(x-1)<<endl;
51 }
52 }
不懂为什么
不过隐隐约约有点那个意思;
so 代码好背