标签:
struct Binary_Index_tree { long long a[N]; void init() { memset(a,0,sizeof(a)); } //位运算 int lowbit(int x) { return x & (-x); } //修改x这个点,并把所有包含x点的所有点都进行修改 void modify(int x,int add) { if(x==0) return ; while(x<N) { a[x]+=add; x+=lowbit(x); } } //得到[1,x]的和 long long get_sum(int x) { long long ret=0; while(x!=0) { ret += a[x]; x-=lowbit(x); } return ret; } };
标签:
原文地址:http://www.cnblogs.com/chenhuan001/p/5165800.html