首页 > 编程语言 > 详细

算法学习:树状数组(单点修改,区间修改等)

时间:2020-05-14 01:06:36      阅读:48      评论:0      收藏:0      [点我收藏+]

 

【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 }

 

算法学习:树状数组(单点修改,区间修改等)

原文:https://www.cnblogs.com/rentu/p/12885837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!