线段树
来源:互联网 发布:修改sql触发器 编辑:程序博客网 时间:2024/06/07 18:50
区间延迟标记:修改时仅在最表层的区间上标记。每次询问时先检查该询问区间的结点上是否有未清空的延迟标记,若有则PushDown。
常用延迟标记:add[],mul[]
例如,如图为一棵线段树:
设初始时add[1]=add[2]=……=add[13]=0。
①从根节点开始,边PushDown边向下查找(由于初始时无延迟标记,PushDown实际未执行)。找到包含于(4,7)的区间停止递归,修改其sum和add值后返回。
②向上PushUp(只修改sum)
(2)查询操作:询问(2,6)的区间和
从根节点开始,边PushDown边向下递归查找(PushDown包括修改sum和延迟标记)。找到包含于(2,6)的区间停止递归,将其sum值加入总区间和ans后返回。
(2,6)区间和:ans=0+2+9+15=26。
注意query无PushUp操作。
阅读全文
0 0
- 线段树?线段树!
- 线段树?线段树!
- 线段_线段树
- 线段_线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- 线段树
- java 之注解开发
- Scala IDE设置缩进格式
- 让你少写1,000行代码的表达式
- 剑指offer第七题(裴波那契数列)
- 在CentOS中安装arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz交叉编译环境
- 线段树
- Java多线程四种创建方式
- 2018阿里校招笔试——给定一个字符串S和有效单词的字典D,请确定可以插入到S中的最小空格数,使得最终的字符串完全由D中的有效单词组成,并输出解。
- device_create创建设备节点分析
- [Leetcode]Median of Two Sorted Arrays
- 并行编程与计算平台 | NVIDIA CUDA | NVIDIA --- GPU编程
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
- 食物链(poj-1182)(带权并查集)
- python安装