树状数组求后缀和

代码中的下标从0开始,原理是一样的

int f[N];

void upd(int x, int val){
	for (int i = x; i >= 0; i = (i & (i + 1)) - 1)
		f[i] += val;
}

int get(int x){
	int res = 0;
	for (int i = x; i < N; i |= i + 1)
		res += f[i];
	return res;
}

猜你喜欢

转载自www.cnblogs.com/033000-/p/12210694.html