一、
树状数组(binary indexed tree),是一种设计新颖的数组结构,它能够高效地获取数组中连续n个数的和。
1、
#define lowbit(x) x&-x
void modify(int x,int d)//添加
{
for(;x<=n;x+=lowbit(x)) c[x]+=d;
}
int cnt(int x)//返回a1~ax之和
{
int ans=0;
for(;x>0;x-=lowbit(x)) ans+=c[x];
return ans;
}
2、
二维树状数组http://blog.csdn.net/y__xv/article/details/51905911
二、应用
1、求逆序对
2~n、见具体例题