Ewall_熊猫

关注

树状数组和线段树

Ewall_熊猫

关注

阅读 70

2022-03-31

c [ x ] = ( x - lowbit (x) , x ] ;

lowbit(x): x 的二进制表示中,最后有 k 个 0 , lowbit(x)=2^k.

第几层就看二进制表示中0的个数。

树状数组:

1、在某个位置上加上一个数 A[x]+v

for(int i=x;i<=n;i+=lowbit(i))
    c[x]+=v;

2、求某一个前缀和

int res=0;
for(int i=x;i>=0;i-=lowbit(x))
    res+=c[i];

相关推荐

王传学

树状数组+线段树

王传学 29 0 0

荷一居茶生活

线段树/树状数组复习

荷一居茶生活 22 0 0

小沙坨

线段树树状数组扫描线

小沙坨 95 0 0

木樨点点

4302 Interval GCD 线段树 +树状数组

木樨点点 46 0 0

颜娘娘的碎碎念

hdoj Stars 1541 (树状数组模板&&线段树)

颜娘娘的碎碎念 32 0 0

乐百川

c++树状数组与线段树模板

乐百川 73 0 0

蚁族的乐土

算法基础11 —— 树进阶(树状数组与线段树入门)

蚁族的乐土 106 0 0

工程与房产肖律师

区间最大公约数--线段树+树状数组

工程与房产肖律师 59 0 0

君心浅语

区间最大公约数【线段树+树状数组】

君心浅语 60 0 0

老罗话编程

数列区间最大值-RMQ/线段树/树状数组

老罗话编程 142 0 0

精彩评论(0)

0 0 举报