用于一些单点修改 和 区间的 查询
主要代码:
树底元素很关键,一般按着顺序排列吗》?
int lowbit(int x) { return x&(-x); } void work(int x,int k) { for(ri i=x;i<=n;i+=lowbit(i)) tree[i]+=k; } int query(int x) { int ans=0; for(ri i=x;i>=1;i-=lowbit(i)) ans+=tree[i]; return ans; }
用于一些单点修改 和 区间的 查询
主要代码:
树底元素很关键,一般按着顺序排列吗》?
int lowbit(int x) { return x&(-x); } void work(int x,int k) { for(ri i=x;i<=n;i+=lowbit(i)) tree[i]+=k; } int query(int x) { int ans=0; for(ri i=x;i>=1;i-=lowbit(i)) ans+=tree[i]; return ans; }