I can write this evening to see how many questions the board!

RT, pit. Write a more a. Live. 233 333

Fenwick tree board. (Compiled over again, over and over sample.)

#include<bits/stdc++.h>
#define lowbit(A) A&-A
#define ll long long
#define rint register int
using namespace std;
int n,q,a[1000006];
ll t[1000006];
inline void update(int x,int dat){for(;x<=n;x+=lowbit(x))t[x]+=dat;return ;}
inline ll query(int x){ll res=0;for(;x;x-=lowbit(x))res+=t[x];return res;}
inline ll Query(int l,int r){return query(r)-query(l-1);}
int main()
{
	scanf("%d %d",&n,&q);
	for(rint i=1;i<=n;++i)
	{
		scanf("%d",&a[i]);
		update(i,a[i]);
	}
	for(rint i=1,opt,li,ri;i<=q;++i)
	{
		scanf("%d",&opt);
		if(opt==1)
		{
			scanf("%d %d",&li,&ri);
			update(li,ri);
		}
		else
		{
			scanf("%d %d",&li,&ri);
			printf("%lld\n",Query(li,ri));
		}
	}
	return 0;
}

 

Guess you like

Origin www.cnblogs.com/xingmi-weiyouni/p/11861063.html