首页 > 代码库 > [模版] BIT 树状数组
[模版] BIT 树状数组
树状数组(BIT)
树状数组不仅仅只有求区间和的作用,还可以以此来查询区间最值或特殊值,(它的查询和插入操作都是O(logn)级别的);
它的最大好处就是简单易写,实现方便;
定义:
// * 数组大小 #define BITSZ (100) // * 树状数组 int Bit[BITSZ]
单点添加函数:
void AddBit (int k,int val) { while (k<=BITSZ) { Bit[k]+=val; k+=k&-k; } return; }
查询[1,k]的区间和函数:
int QueryBit (int k) { int sum=0; while (k>0) { sum+=Bit[k]; k-=k&-k; } return sum; }
[模版] BIT 树状数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。