[模板]洛谷T3374 树状数组 模板1

Posted Running-Coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[模板]洛谷T3374 树状数组 模板1相关的知识,希望对你有一定的参考价值。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<ctime>
 6 #include<cstdlib>
 7 
 8 #include<algorithm>
 9 #include<string>
10 #include<stack>
11 #include<queue>
12 #include<vector>
13 
14 using namespace std;
15 
16 void add(int,int);
17 int pre(int);
18 
19 int c[500010];
20 
21 int i,n,m;
22 
23 int t;
24 
25 int k;
26 
27 int p,x;
28 int a,b;
29 
30 int main(){
31     scanf("%d%d",&n,&m);
32     
33     for(i=1;i<=n;i++){
34         scanf("%d",&t);
35         add(i,t);
36     }
37     
38     for(i=1;i<=m;i++){
39         scanf("%d",&k);
40         if(k==1){
41             scanf("%d%d",&p,&x);
42             add(p,x);
43         }
44         else{
45             scanf("%d%d",&a,&b);
46             printf("%d\n",pre(b)-pre(a-1));
47         }
48     }
49     
50     return 0;
51 }
52 
53 void add(int p,int x){
54     while(p<=n){
55         c[p]+=x;
56         p+=p&-p;
57     }
58 }
59 
60 int pre(int p){
61     int sum=0;
62     while(p>=1){
63         sum+=c[p];
64         p-=p&-p;
65     }
66     return sum;
67 }

 

以上是关于[模板]洛谷T3374 树状数组 模板1的主要内容,如果未能解决你的问题,请参考以下文章

[模板]洛谷T3368 树状数组 模板2

洛谷P3368 模板树状数组 2

洛谷.3374.[模板]树状数组1(CDQ分治)

洛谷 P3374 模板树状数组 1 如题(单点修改+区间查询)

洛谷——P3374 模板树状数组 1

洛谷 P3374 模板树状数组 1 题解