还没想好怎么解释,先贴程序片
int SUM(int s, int t)
{
return sum(t) - sum(s-1);
}
int sum(int i)
{
int ans = 0;
while (i > 0)
{
ans += BIT[i];
i -= i & -i;
}
return ans;
}
void modify(int i, int x)
{
while (i <= N)
{
BIT[i] = x;
i += i & -i;
}
}