ST - RMQ

void ST_create(){
    for(int i = 1; i <= n; i++)
        F[i][0] = a[i];
    int k = log2(n);
    for(int j = 1; j <= k; j++)
        for(int i = 1; i <= n - (1<<j) + 1; i++)
            F[i][j] = max(F[i][j-1], F[i+(1<<(j-1))][j-1]);
}

int ST_query(int l, int r){
    int k = log2(r-l+1);
    return max(F[l][k], F[r-(1<<k)+1][k]);
}
全部评论

相关推荐

05-14 09:24
青岛工学院 C++
点赞 评论 收藏
分享
07-01 17:14
中北大学 Java
兄弟们是真是假
牛客46374834...:我在boss上投java岗从来没成功过
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务