ST(Spare Table稀疏表)算法采用了倍增思想,在O(nlogn)时间构造一个二维表,可以在O(1)时间在线查询[l,r]区间的最值,有效解决在校RMQ(Range Minimum/Maximum Query,区间最值查询)问题。
如何实现呢?
设F[i,j]表示[i,2j -1]区间的最值,区间长度为2j 。
根据倍增思想,长度为2j 的区间可分成两个长度为2j-1 的子区间的最值即可。递推公式:F[i,j]=max(F[i,j-1],F[i+2j-1 ,j-1])。
通过上面的讲解其实就是动态规划思想。
|
———————————————— 版权声明:本文为CSDN博主「sunday_soft」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/hwdn3000/article/details/127381783