树状数组模板

树状数组的lowbit操作:

#define lowbit(a) (a)&(-(a))

单点修改操作:

il void update(int pos,int num)
{
	while(pos<=n)
		{
			tree[pos]+=num;
			pos+=lowbit(pos);
		}
}

 求和操作:

il int query(int pos)
{
    int sum=0;
    while(pos>0)
        {
            sum+=tree[pos];
            pos-=lowbit(pos);
        }
}

 

posted @ 2017-09-02 20:52  GSHDYJZ  阅读(103)  评论(0编辑  收藏  举报