RMQ的ST算法(区间最值)
摘要:
ST算法求解RMQ问题(区间最值)效率:O(nlogn)预处理,O(1)询问思想:用f[i][j]表示以i开头的区间,包括2^j个元素的一段区间的最值那么有初始化的初始化f[i][0]=a[i](a[I]表示第I个元素的值)然后就有两种初始化的方法1)选择一个位置为更新点,然后枚举2^j,即固定I,求f[constI][j]2)每次选择一个区间长度,然后枚举位置,即固定j,求f[I][constj]那么哪一种效率更高呢?如果选择方案1,那么显然没有办法优化那么只能是方案2了。由于这都是求2^j(j为整数)的区间的长度,那么就可以直接由这个区间拆成的两个1/2长度的区间来求,令人欣慰的是,这一段 阅读全文
posted @ 2012-08-06 18:14 Stery 阅读(184) 评论(0) 推荐(0) 编辑