Tree array principle

Features:

①Quickly find the prefix sum O (logn) O(logn)O ( l o g n )

②Modify a certain number O (logn) O(logn)O ( l o g n )

Insert picture description here

operating:

①: Achievement

void add(int x, int c) {
    
     //树状数组的插入操作
	for (int i = x;i <= n;i += lowbit(i))tr[i] += c;
}

②: Interval query: 1 ~ x prefix sum

for(int i = x;i <= n;i += lowbit(i))res += c;

③: Single point modification:

for(int i = x;i;i -= lowbit(i))tr[i] += c; 

Guess you like

Origin blog.csdn.net/zzq0523/article/details/113100749