教程地址
int lowbit(int i) { return i & (-i); } int sum(int i) {//区间[1,i]的和 int ans = 0; while (i>0) { ans += c[i]; i -= lowbit(i); } return ans; } void insert(int i,int val) {//插入 while (i<=N) { c[i] += val; i += lowbit(i); } }