树状数组小结

编程入门 行业动态 更新时间:2024-10-06 12:20:18

<a href=https://www.elefans.com/category/jswz/34/1766397.html style=树状数组小结"/>

树状数组小结

树状数组就两种情况,每次更新一个点,最后的时候统计一个区间,或者每次更新一个区间,最后统计某个点

然后有个图可以帮助我们理解:


就是这个 

 每个节点的管辖范围是他的左子树  然后和 树状数组是对应的



这张图是百度上的

然后模板:

一维模板:

inline int lowbit( int x ){return x & ( -x );
}void updata( int x, int val ){while( x <= N ){sum[x] += val;x += lowbit( x );}
}int getsum( int x ){int ans = 0;while( x > 0 ){ans += sum[x];x -= lowbit( x );}return ans;
}

二维模板:

inline int lowbit( int x ){return x & ( -x );
}void updata( int x, int y, int val ){for( int i = x; i <= N; i += lowbit( i ) ){for( int j = y; j <= N; j += lowbit( j ) ){sum[i][j] = ( sum[i][j] + val ) % 2;}}
}int getsum( int x, int y ){int ans = 0;for( int i = x; i > 0; i -= lowbit( i ) ){for( int j = y; j > 0; j -= lowbit( j ) ){ans = ( sum[i][j] + ans ) % 2;}}return ans;
}

刷的题目就是夏天的风的树状数组总结上的题目 点击打开链接

更多推荐

树状数组小结

本文发布于:2024-03-11 17:54:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1729544.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:树状   数组   小结

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!