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

树状数组

时间:2018-09-03 19:28:13      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:求和   turn   const   数组   lowbit   class   树状   测试   tree   

int Ftree[int i]树状数组(编号从1开始)
const int maxFFtree的大小
void add(int i,int k)给第i位加上k
int sum(int i)从1到n求和

/*
备注:
未测试
2018/09/03
*/
const int maxF=100;
int Ftree[maxF];
inline lowbit(int x)
{
    return x&(-x);
}
void add(int i,int k)
{
    while(i<maxF)
    {
        Ftree[i]+=k;
        i+=lowbit(i);
    }
}
int sum(int i)
{
    int ret=0;
    while(i)
    {
        ret+=k;
        i-=lowbit(i);
    }
    return ret;
}

树状数组

标签:求和   turn   const   数组   lowbit   class   树状   测试   tree   

原文地址:https://www.cnblogs.com/maoruimas/p/9579976.html

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