数据结构---ST表

前言

学习一个知识点最基本是了解这个算法是什么,用来解决什么问题,怎么写这个算法,以及这个算法本质是什么

ST表的本质

构建时:它是 倍增 dp 。
查询时: 它是 重叠覆盖 。

什么时候可以用?

当一个序列满足以下性质时用ST表,用来解决;

可重复贡献

重复运算的区域不影响最后的答案

单调性

运算后的结果满足单调性

运算 单调性
max 单调不减
min 单调不增
gcd 单调不增
按位与 单调不增
按位或 单调不减

有穷性

指ST表处理的数据集在预处理完成后固定不变,ST表是静态表,建完就不能修改了

实际使用时的启示

如果数据静态 → 考虑ST表、前缀和、差分等有穷数据结构
如果数据动态 → 考虑线段树、树状数组等动态数据结构

ST表进阶

尾部动态更新

反向ST表

posted @ 2026-01-30 22:10  不太会a  阅读(4)  评论(0)    收藏  举报