数据结构_二叉索引树_模板

来源:互联网 发布:ps软件什么好 编辑:程序博客网 时间:2024/06/05 01:01

动态连续和查询问题。给定一个n个元素的数组,A1,A2,…An,支持

□ Add(x, d)操作:让Ax自增d;
□ Query(L, R)操作:计算AL,AL+1,AL+2,…R

的数据结构


【求和】

int sum(int x){    int ret = 0;    while(x>0)    {        ret += C[x];        x -= lowbit(x);    }    return ret;}

【增加】

void add(int x, int d){    while(x<=n)    {        C[x] +=d;        x += lowbit(x);    }}

【lowbit】

int lowbit(x){    return x&-x;}

【查询】

int query(int L, int R) //L<=R{    return sum(R) - sum(L);}

区间问题的求解关键在于“动态维护”。

0 0