摘要: [线段树系列 #2] 动态开点线段树 简单介绍 动态开点线段树最出名也是最广为人知的一点就是:省空间 你可以理解为 当有一个新的节点 \((x,v)\) 插入时 我们只建了从 1 到 \(x\)​ 的一条链 所以 原普通线段树 \(1-n\) 的大约 \(4n\) 个点,我们只需建 \(m\log 阅读全文
posted @ 2025-07-14 16:13 Hirasawayuiii 阅读(15) 评论(0) 推荐(0)
摘要: [线段树系列 #4] 线段树分裂 简单介绍 线段树分裂,可以简单理解为把所需的链单独取出来,即为合并的逆操作 线段树分裂只适用于有序的序列,无序的序列是没有意义的,常用在动态开点的权值线段树。 思路概述 一颗区间为 \([1,n]\) 的线段树中分裂出 \([l,r]\),并建一颗新树 从 1 号结 阅读全文
posted @ 2025-07-14 16:13 Hirasawayuiii 阅读(23) 评论(0) 推荐(0)
摘要: [线段树系列 #3] 线段树合并 简单介绍 线段树合并,通常是对于维护同样的一个区间的动态开点线段树来说的(普通线段树每个节点都是对应的,直接相加即可)。 它可以将多个线段树合并为一个线段树,以来记录答案 思路概述 假设两颗线段树为 A 和 B,我们从 1 号节点开始递归合并。 递归到某个节点时,如 阅读全文
posted @ 2025-07-14 16:12 Hirasawayuiii 阅读(18) 评论(0) 推荐(0)