当前位置: 首页 > news >正文

线段树理论

假设我们此时线段树维护的信息集合为 \(D\),标记集合为 \(T\),而对于一颗线段树,我们需要维护的操作无非就是:

  • 区间合并:把两个相邻区间 \([l_1,r_1],[l_2,r_2]\) 的序列信息合并起来作为大区间 \([l_1,r_2]\) 的序列的信息。
  • 懒标记下传:把当前区间的懒标记作用到它的两个子区间上,而这又分为两个过程,即当前区间懒标记对子区间懒标记的作用,以及当前区间懒标记对子区间序列信息的作用。即懒标记之间的复合和懒标记对序列信息的复合。

那么信息集合 \(D\) 和标记集合 \(T\) 就需要满足以下的条件:

  • 存在运算 \(+:D \times D \to D\),其中 \(\times\) 是笛卡尔积,下面同理。
  • 由于标记需要作用到信息上,所以合并完之后依然是信息,那么就存在运算 \(\text{apply}:T \times D \to D\)
  • 标记需要复合才能保证复杂度,所以标记复合之后依然为标记,所以存在运算 \(\cdot:T\times T \to T\)
  • 当节点上没有标记时,事实上存储了一个代表「什么都不做」的空标记,那么就要求 \((T,\cdot)\) 这个群存在单位元。

除了这些限制,我们可以通过模拟线段树的过程来观察到其他的性质:

  • 我们在查询的时候一般会将区间 \([l,r]\) 的询问拆成 \([l,m]\)\([m+1,r]\) 这两个区间然后再合并,其中 \(m = \lfloor \frac{r+l}{2} \rfloor\)。这就说明了 \(D\)\(+\) 满足结合律,且合并完之后依然为信息。因此 \(D\) 需要是一个半群。
  • 子区间序列信息复合懒标记以后再合并和子区间序列信息合并后再复合懒标记相等,即 \(t(d_1 + d_2) = t\cdot d_1 + t\cdot d_2\),那么 \(\cdot\)\(+\) 有分配律。

而我们发现 \((D,+)\)\((T,\cdot)\) 都满足幺半群的条件,即满足封闭性,结合律和有单位元这三个条件。而这样子的线段树也被称之为双半群线段树。

http://www.jsqmd.com/news/22895/

相关文章:

  • [ICML2023]CLIPood Generalizing CLIP to Out-of-Distributions
  • 最短路学习笔记
  • 语文_阅读_The power of curiosity in science_待读
  • 大学课堂“走神危机”,认真听讲能否破局?
  • 【数据分析】基于大内容的葡萄酒品质内容可视化分析体系 | 大数据毕设实战项目 选题推荐 文档指导+ppt+运行部署 Hadoop+SPark+java
  • 无符号整型左移33位
  • 跨被动为主动:认真听讲,坚持实践
  • 深入理解:Spring Environment
  • 以专注之姿,赴求知之约
  • 认真听讲,是大学最好的修行
  • 20232328 2025-2026-1《网络与系统攻防技术》实验三实验报告
  • 英语_阅读_Meeting
  • 《程序员修炼之道:从小工到专家》阅读笔记3
  • 我的一个oier朋友
  • K8s注解的指令功能:从元数据到控制逻辑
  • 磁盘格式化和LVM挂载
  • 2232
  • 123133
  • 1123
  • 研零学习笔记
  • 2025.10.26——1绿
  • 2025.10.24——1黄
  • [1136] Convert a TIFF to a coordinate-aware (georeferenced) PNG in ArcGIS Pro
  • 20251026 之所思 - 人生如梦
  • 关于耐心,专注力及主动性
  • 一期0. AI认知课/pytorch框架
  • 漏洞生命周期管理:从发现到防护的全流程方案 - 教程
  • day02 pytorch介绍与安装
  • Xshell7免费版下载及安装(详细教程)
  • APT36组织利用Linux BOSS恶意软件通过.desktop文件攻击印度政府