线段树

1|0线段树学习笔记

2|0普通线段树

线段树运用了二分的思想,将区间 [l,r] 分为[l,mid][mid+1,r],合并起来就是 [l,r] 的信息。

3|0zkw 线段树

4|0动态开点线段树

5|0可持久化线段树

6|0线段树的合并和分裂

7|0易错点

  1. 每一次,每一种修改都要写 pushup , 除了建树其他都要写 pushdown(如果有懒标记的话)。(重要!重要!!重要!!!

  2. 空间要开的足够大,特别是可持久化线段树,线段树合并。

  3. 在动态开点线段树中,如果采用的是带引用地址的的写法,记得每当有新建节点的操作时引用变量。

  4. 递归过程中要保持答案区间 [l,r] 不变,不要手滑写成 [l,mid+1][mid+1,r]

if(x <= mid) //do sth; if(y > mid) //do sth;

上面第三行不要写成 else


__EOF__

本文作者louisliang
本文链接https://www.cnblogs.com/louisliang/articles/17943696.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   louisliang  阅读(8)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示