环球聚焦:树状数组--动态维护区间操作
树状数组 (二元索引树 / 二元下标树 / Binary Indexed Tree, BIT / Fenwick Tree): 树状数组虽名为数组,但从其英文名 (Binary Indexed Tree) 可看出它本质上是一种被表达为树的数据结构。对于大小为n 的序列nums ,最基本的树状数组以O(logn) 时间复杂度同时支持如下两种操作。
(资料图)
1)更新nums 中单个元素的值,即 单点修改(Point Update) 。
2)求nums 任意区间的元素值之和,即 区间查询(Range Query) 。
数组:对于单点修改:数组可以利用下标直接修改,O(1),但是对于区间查询则为O(N);
前缀和:对于区间查询,前缀和可以做到O(1),但是对于单点修改,需要修改该点以后的所有前缀和数值,O(N);
学习视频摘自:〔manim | 算法 | 数据结构〕 完全理解并深入应用树状数组 | 支持多种动态维护区间操作_哔哩哔哩_bilibili
学习博客摘自:树状数组从入门到下车 - 力扣(LeetCode)
lowbit操作:
t [ ] 数组:
单点修改、区间查询:
区间修改、单点查询:
区间修改、区间查询:
整个矩形面积,减去黄色面积;
注意这儿是 前缀和的增量;
初始化tree 数组:
标签:
- 01 描写男生跳街舞的句子精选95句
- 02 长沙健康防疫包每人最多可以领几次?-环球消息
- 03 快看:安卓手机不卡顿!一加11内存基因重组技术揭秘:数据抓取量提升16倍
- 04 技术水平持续提升,知识产权能力越来越强 民企创新活力不断迸发(经济聚焦)|世界最资讯
- 05 北京小客车家庭申请指标类型如何修改?
- 06 新风光(688663.SH)股东平潭利恒、许琳合计减持比例达1.67% 减持实施完毕
- 07 长春2023兔年贺岁纪念币一个人能约几枚?
- 08 为什么柿饼晒干了还好发涩? 每日速看
- 09 教育部公示全国校外教育培训监管专家委员会成员名单_热门看点
- 010 倍益康(870199)12月26日游资资金净卖出3.22万元 当前报道