算法学习:树状数组(单点修改,区间修改等)
Posted rentu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法学习:树状数组(单点修改,区间修改等)相关的知识,希望对你有一定的参考价值。
【lowbit】
1 #define lowbit(x) x&(-x)
【单点修改】
1 void add(int pos, int k) 2 { 3 while (pos <= n) 4 { 5 tree[pos] += k; 6 pos += lowbit(pos); 7 } 8 }
【区间询问】
1 ll sum(int pos) 2 { 3 ll ret = 0; 4 while (pos) 5 { 6 ret += tree[pos]; 7 pos -= lowbit(pos); 8 } 9 return ret; 10 }
以上是关于算法学习:树状数组(单点修改,区间修改等)的主要内容,如果未能解决你的问题,请参考以下文章
算法系列学习线段树vs树状数组 单点修改,区间查询 [kuangbin带你飞]专题七 线段树 A - 敌兵布阵