树状数组--动态维护区间操作
树状数组 (二元索引树 / 二元下标树 / 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 数组:
下一篇:最后一页
X 关闭
资讯
- 树状数组--动态维护区间操作
- 经济增长预期上调 中国经济赢得国际“信任票”
- 初灵信息:公司没有AI多模态技术
- 2023抖音宠物用品行业研究报告(附下载) 天天看点
- 每日热议!只因一句“宠物不许入内”,狗主人一巴掌打向孩子,刑拘!
- 米体:米兰夏窗10人可能离队,引援瞄准阿瑙、莫拉塔、奇克等人
- “社区云”平台让长宁的社区治理迈上了智能化“赛道”
- 巩义市紫荆路街道祥瑞社区新时代文明实践·“指尖传情 母爱无疆”感恩母亲手工活动
科技
-
大山深处的书香春节2022-02-07
-
天津:男子涂改核酸证明进火车站被拘留2022-02-07
-
守护中国唯一国境“骑马线”的“护路人”:保证中欧班列冬季运输安全2022-02-07
-
降雪致青海多条高速实行交通管制2022-02-07
-
广州番禺部分区域被划定为疫情防控管理区2022-02-07