树状数组入门

教程地址

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);
	}
}
posted @ 2019-07-25 10:43  zz2108828  阅读(192)  评论(0编辑  收藏  举报