今天看了这篇博客,感觉对树状数组讲的非常透彻,存一下链接方便以后忘了看_(:з」∠)_
https://www.cnblogs.com/xenny/p/9739600.html
记录一下关键代码和注释
//lowbit计算2的k次方的值,k为 i 从最低位到最高位的连续0的个数 int lowbit(int i) { return i&(-i); } //在下标为 i 的位置加入 k 的值 并对所有包含 i 的地方加 k void add(int i,int k) { while(i<=n) { c[i]+=k; i+=lowbit(i); } } // 求从 1~i 的和 int getsum(int i) { int res=0; while(i>0) { res+=c[i]; i-=lowbit(i); } return res; }