码迷,mamicode.com
首页 > 编程语言 > 详细

RMQ的ST算法

时间:2017-03-23 16:41:56      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:个数   rmq   算法   设计   二进制   区间   bsp   最大值   长度   

·RMQ的ST算法
    状态设计:
        F[i, j]表示从第i个数起连续2^j个数中的最大值
    状态转移方程(二进制思想):
        F[i, j]=max(F[i,j-1], F[i + 2^(j-1),j-1])
    查询时:
        因为这个区间的长度为j - i + 1,所以我们可以取k=log2( j - i + 1),
        则有:RMQ(A, i, j)=max{F[i , k], F[ j - 2 ^ k + 1, k]}。

RMQ的ST算法

标签:个数   rmq   算法   设计   二进制   区间   bsp   最大值   长度   

原文地址:http://www.cnblogs.com/liuzhanshan/p/6605801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!