放一个简单的板子记录一下
int tr[N];
int a[N];
int n;
int lowbit(int x)
{
return x&(-x);
}
void add(int x,int c) //x的位置+c
{
for(int i=x;i<=n;i+=lowbit(i))
tr[i]+=c;
}
int sum(int x)//1~x的和
{
int res=0;
for(int i=x;i;i-=lowbit(i))
{
res+=tr[i];
}
return res;
}