模板st表

Posted _yrh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板st表相关的知识,希望对你有一定的参考价值。

今天学习了一下st表  其实好几天就一直看


用禚神仙的话来说:

ST表是一种用于处理静态RMQ问题(无修改区间最值问题)的最快数据结构,书写方便使用简单效率便捷。
其中其预处理复杂度为O(nlogn),查询复杂度为O(1)。总时间复杂度为O(nlogn)。
常数远小于树状数组、线段树等毒瘤数据结构。

 

st表不支持在线修改 不支持!!!!!

 

一种利用dp求解区间最值的倍增算法。

 

定义:f[i][j]表示i到i+2^j-1这段区间的最大值。这里必须是i到i+2的j次方-1  别问为什么 规定!!!

 

预处理:f[i][0]=a[i]。即i到i区间的最大值就是a[i]。

 

状态转移:将f[i][j]平均分成两段,一段为f[i][j-1],另一段为f[i+2^(j-1)][j-1]。

 

两段的长度均为2^j-1。f[i][j]的最大值即这两段的最大值中的最大值。

 

得到f[i][j]=max(f[i][j-1],f[i+2^(j-1)][j-1])。

 

以上是关于模板st表的主要内容,如果未能解决你的问题,请参考以下文章

ST表模板ST表

st表模板

RMQ与st表

P3865 模板ST表

模板st表

ST表模板