ST表

Posted switch-waht

tags:

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

ST表类似树状数组,线段树这两种算法,是一种用于解决区间最值查询问题的离线算法。与线段树相比,预处理复杂度同为O(nlogn),但查询复杂度ST表为O(1),比线段树查询O(lgN)小,但就不涉及修改的区间查询而言,ST表无疑是更好的选择。

ST表主体,即st[i][j],表示数据数组a[ ]从下标i开始的长度为2^j的最值,即st[i][j]=max/min(a[i],a[i+1]...a[i+2^j-1])。可得st[i][j]=max/min(st[ i ][ j-1 ],s[i+(1<<(j-1)) ][ j-1]);

用类似线段树的方法,将大区间的最值分布到子区间内,即可做到O(1)的查询;

 

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

ST表

ST表超级详解

st表

st表

st表

ST表算法入门详解