树状数组入门

教程地址

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);
	}
}
原文地址:https://www.cnblogs.com/--zz/p/11241782.html