树状数组模板

讲解:传送门

const int maxn=50005;
const double eps=1e-8;
int tree[maxn];
inline int lowbit(int x)
{
    return x&-x;
}
void add(int x,int value) //输入数据时,需要调用此函数加到tree[]里面
{
    for(int i=x;i<=maxn;i+=lowbit(i))
    {
        tree[i]+=value;
    }
}
int get(int x) //获取的是tree[1]+……+tree[x]的值
{
    int sum=0;
    for(int i=x;i;i-=lowbit(i))
    {
        sum+=tree[i];
    }
    return sum;
}

 

posted @ 2018-07-20 16:02  MCQ  阅读(84)  评论(0编辑  收藏  举报