树状数组

树状数组

1.求lowbit

int lowbit(int x) {return x & -x;}

2.更新(pudate)

void _Update(int index, int x) {
	for(int i = index; i <= n; i += _Lowbit(i))
		BIT[i] += x;
	return;
}

3.求前缀和

int _Sum(int x) {
	int sum = 0;
	for(int i = x; i > 0; i -= _Lowbit(i)) 
		sum += BIT[i];
	return sum;
}
posted @ 2020-10-07 19:34  C2022lihan  阅读(14)  评论(0编辑  收藏  举报