·已知一个数列,你需要进行下面两个操作: ·将某一个数加上x ·求出区间的和
lowbit(x):x的二进制表示中最低位的1所表示的数值 lowbit(20)=lowbit(10100)=00100=4
int lowbit(int x){ return x&(-x); }
C[x]:[x-lowbit(x)+1,x]的区间和 C[x]数组形成了如下图的树形结构 如图