码迷,mamicode.com
首页 > 编程语言 > 详细

树状数组

时间:2020-06-04 01:45:04      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:连续   while   amp   lowbit   方便   add   sum   tps   +=   

 

今天看了这篇博客,感觉对树状数组讲的非常透彻,存一下链接方便以后忘了看_(:з」∠)_ 

https://www.cnblogs.com/xenny/p/9739600.html

 

记录一下关键代码和注释

//lowbit计算2的k次方的值,k为 i 从最低位到最高位的连续0的个数
int lowbit(int i)  
{
    return i&(-i);
}

 //在下标为 i 的位置加入 k 的值 并对所有包含 i 的地方加 k 
void add(int i,int k)   
{
    while(i<=n)
    {
        c[i]+=k;
        i+=lowbit(i);
    }

}

// 求从 1~i 的和
int getsum(int i)
{
    int res=0;
    while(i>0)
    {
        res+=c[i];
        i-=lowbit(i);
    }
    return res;
}

 

树状数组

标签:连续   while   amp   lowbit   方便   add   sum   tps   +=   

原文地址:https://www.cnblogs.com/blowhail/p/13040967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!