树状数组

#define lowbit(x) x&-x
//lowbit取二进制最后的10*序列(例:lowbit(1000100)= 100) const int S; int c[S] = {0}; void add(int x, int d){ while(x <= S) c[x] += d,x += lowbit(x); } int sum(int x){ int ret = 0; while(x > 0) ret += c[x], x -= lowbit(x); return ret; }
posted @ 2019-06-10 11:06  Hanasaki  阅读(99)  评论(0)    收藏  举报