首页 > 其他 > 详细

关于树状数组修改区间,求点值

时间:2014-03-22 07:45:31      阅读:389      评论:0      收藏:0      [点我收藏+]
PS:很多版本的方案都是:long long sum(int x)       
{                          
long long  k=0;           
while (x<=n)              
{                         
 k+=f[x];                
 x+=lowbit(x);          
}                         
return k;                 
}                          
                           
void update(int x,int b)   
{                          
while (x)                 
{                         
  f[x]+=b;               
  x-=lowbit(x);         
}                         
}                          

 

向下更新指,而我总觉得与修改点,求段的方法相反, 比较难记住,那为啥不可以按照修改点的方法去做呢?

事实证明可以的:比如HDU1556就实验可以:

其实想想也应该可以的,当他们的位置倒转,不就可以了吗? 

关于树状数组修改区间,求点值,布布扣,bubuko.com

关于树状数组修改区间,求点值

原文:http://www.cnblogs.com/forgot93/p/3617069.html

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