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

25.5.22学习总结

ST表(Sparse Table,稀疏表)是一种用于高效解决静态区间最值查询(RMQ)问题的数据结构。其核心思想是通过预处理每个长度为2^j的区间的最值,使得查询时只需合并两个子区间的最值即可得到结果,从而实现O(1)的查询复杂度。

一、核心特性

  1. 预处理时间复杂度O(nlog⁡n)

  2. 查询时间复杂度O(1)

  3. 适用场景:静态数据(无修改操作)的区间最值查询。

  4. 支持操作:可重复贡献且可结合的运算(如最大值、最小值、最大公约数等)。

二、构建过程

  1. 初始化

    • 定义二维数组st,其中st[i][j]表示从位置i开始、长度为2j的区间的最值。

    • 初始时,st[i][0] = arr[i](即长度为1的区间的最值为元素本身)。

  2. 动态规划填充

    • 对于每个j(1≤j≤⌊log⁡2n⌋),遍历所有可能的起点i,满足i+2j−1<n

    • 状态转移方程:

      st[i][j]=op(st[i][j−1],st[i+2j−1][j−1])其中op为合并操作(如取最大值或最小值)。

三、查询过程

对于区间[L,R]的最值查询:

  1. 计算区间长度:len=R−L+1。

  2. 确定最大幂次:k=⌊log⁡2len⌋。

  3. 合并子区间结果

    result=op(st[L][k],st[R−2k+1][k])这两个子区间分别覆盖[L,L+2k−1]和[R−2k+1,R],确保完全覆盖原区间。

四、优缺点分析

  • 优点

    • 查询速度快(O(1))。

    • 适用于多次查询静态数据的场景。

  • 缺点

    • 不支持动态修改。

    • 仅适用于可重复贡献的操作。

 五、ST表与线段树的比较

1. 时间复杂度对比

操作

ST表

线段树

预处理

O(nlog⁡n)

O(n)

查询

O(1)

O(log⁡n)

更新

不支持

O(log⁡n)

  • ST表:查询极快(常数时间),但预处理稍慢,且不支持动态修改。

  • 线段树:查询和更新均为对数时间,支持动态数据。

2. 空间复杂度对比

数据结构

空间复杂度

ST表

O(nlog⁡n)

线段树

O(n)

  • ST表:需要二维数组存储预处理结果,空间消耗较大。

  • 线段树:通常用一维数组实现(类似堆),空间更优。

3. 功能对比

功能

ST表

线段树

静态区间最值(RMQ)

✔️

✔️

动态区间最值/和

✔️

区间更新

✔️

可扩展性

✔️

4. 适用场景

  • 选择ST表

    • 数据静态不变,且需要极快查询(如高频RMQ)。

    • 无需支持修改操作。

    • 例如:离线处理大量查询的RMQ问题。

  • 选择线段树

    • 数据动态变化,需要支持更新。

    • 查询类型复杂(如区间和、区间最值混合)。

    • 例如:实时更新的数据库区间统计。

六、例题


【模板】ST 表 && RMQ 问题https://www.luogu.com.cn/problem/P3865

相关文章:

  • window 显示驱动开发-指定 GDI 硬件加速渲染操作
  • Python-标准库
  • 浅谈测试驱动开发TDD
  • 微服务架构的演变过程
  • 关于大语言模型的问答?
  • spring boot启动报错:2002 - Can‘t connect to server on ‘192.168.10.212‘ (10061)
  • 咬合配准算法文献推荐
  • 电子电路:为什么会产生电流超前或者滞后于电压的情况?
  • CUDA 加速的稀疏矩阵计算库cuSPARSE
  • 数据库blog5_数据库软件架构介绍(以Mysql为例)
  • P22:LSTM-火灾温度预测
  • Python实现矩阵转置:原理与实践
  • 《JVM G1 源码分析和调优》笔记
  • Linux 玩转nfs
  • 【TTS回顾】CosyVoice 深度解析:基于LLM的TTS模型
  • C语言if-else分支结构中的类似短路现象
  • C++:关联式容器map容器,multimap容器
  • 系统与账户安全
  • 3 tomcat原理
  • 【RAG】ragflow源码亮点:文档embedding向量化加权融合
  • 西安地区网站建设/武汉百度推广入口
  • 做网站的报价方案/网络营销的基本特征
  • 上鼎工程建设有限公司网站/评论优化
  • 深圳最好的活动策划公司/关键词排名seo优化
  • 做网站用多大的服务器/seo关键词排名优化软件
  • 移动路由器做网站服务器/爱站网关键词密度