【模板】树状数组

树状数组模板

教程有时间补上

 

const int MAXN = 500000 + 10;

int s[MAXN];
int n,m;

inline int lowbit(int k)
{
	return k&(-k);
}

inline int ask(int k)
{
	int sum = 0;
	for(int i = k;i;i -= lowbit(i))
	{
		sum += s[i];
	}
	return sum;
}

inline void modefy(int k, int num)
{
	for(int i = k;i <= n;i += lowbit(i))
	{
		s[i] += num;
	}
}

inline int ask(int l,int r)
{
	return ask(r) - ask(l - 1);
}


 

posted @ 2017-03-16 21:38  嘒彼小星  阅读(169)  评论(0编辑  收藏  举报