BZOJ 1636: [Usaco2007 Jan]Balanced Lineup【RMQ】

1636: [Usaco2007 Jan]Balanced Lineup

【题目描述】
传送门

【题解】

是一道RMQ。

代码如下

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int n,Q,f[2][50005][31];
int main(){
    #ifndef ONLINE_JUDGE
    freopen("prob.in","r",stdin);
    freopen("prob.out","w",stdout);
    #endif
    scanf("%d%d",&n,&Q);
    memset(f[1],63,sizeof(f[1]));
    for(int i=1;i<=n;i++) scanf("%d",&f[0][i][0]),f[1][i][0]=f[0][i][0];
    for(int j=1;(1<<j)<=n;j++)
    for(int i=1;i<=n-(1<<j)+1;i++)
    f[0][i][j]=max(f[0][i][j-1],f[0][i+(1<<j-1)][j-1]),
    f[1][i][j]=min(f[1][i][j-1],f[1][i+(1<<j-1)][j-1]);
    for(int i=1;i<=Q;i++){
        int L,R;scanf("%d%d",&L,&R);
        int j=log2(R-L+1);
        printf("%d\n",max(f[0][L][j],f[0][R-(1<<j)+1][j])-min(f[1][L][j],f[1][R-(1<<j)+1][j]));
    }
    return 0;
}
相关推荐
<p> <strong><span style="background-color:#FFFFFF;color:#E53333;font-size:24px;">本页面购买不发书!!!仅为视频课购买!!!</span></strong> </p> <p> <strong><span style="color:#E53333;font-size:18px;">请务必到</span></strong><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><strong><span style="color:#E53333;font-size:18px;">https://edu.csdn.net/bundled/detail/49</span></strong></a><strong><span style="color:#E53333;font-size:18px;">下单购买课+书。</span></strong> </p> <p> <span style="font-size:14px;">本页面,仅为观看视频页面,如需一并购买图书,请</span><span style="font-size:14px;">务必到</span><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><span style="font-size:14px;">https://edu.csdn.net/bundled/detail/49</span></a><span style="font-size:14px;">下单购买课程+图书!!!</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;">疯狂Python精讲课程覆盖《疯狂Python讲义》全书的主体内容。</span> </p> <span style="font-size:14px;">内容包括Python基本数据类型、Python列表、元组和字典、流程控制、函数式编程、面向对象编程、文件读写、异常控制、数据库编程、并发编程与网络编程、数据可视化分析、Python爬虫等。</span><br /> <span style="font-size:14px;"> 全套课程从Python基础开始介绍,逐步步入当前就业热点。将会带着大家从Python基础语法开始学习,为每个知识点都提供对应的代码实操、代码练习,逐步过渡到文件IO、数据库编程、并发编程、网络编程、数据分 析和网络爬虫等内容,本课程会从小案例起,至爬虫、数据分析案例终、以Python知识体系作为内在逻辑,以Python案例作为学习方式,最终达到“知行合一”。</span><br />
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页