• 天才的记忆


    天才的记忆

    题目描述:

    从前有个人名叫WandNandB,他有着天才般的记忆力,他珍藏了许多许多的宝藏。在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松回答出这个问题,便可以继承他的宝藏。 题目是这样的:给你一大串数字(编号为1到N,大小可不一定哦!),在你看过一遍之后,它便消失在你面前,随后问题就出现了,给你M个询问,每次询问就给你两个数字A,B,要求你瞬间就说出属于A到B这段区间内的最大数。 一天,一位美丽的姐姐从天上飞过,看到这个问题,感到很有意思(主要是据说那个宝藏里面藏着一种美容水,喝了可以让这美丽的姐姐更加迷人),于是她就竭尽全力想解决这个问题。BUT,她每次都以失败告终,因为这数字的个数是在太多了!于是她请天才的你帮他解决。如果你帮她解决了这个问题,可是会得到很多甜头的哦!

    输入:

    第一行一个整数N表示数字的个数,接下来一行为N个数ai。n<=200000,-2e9<=ai<=2e9

    第三行读入一个M,表示你看完那串数后需要被提问的次数,接下来M行,每行都有两个整数A,B。1<=M≤1e4。

    输出:

    输出共M行,每行输出一个数,表示对一个问题的回答。

    样例输入:

    6
    34 1 8 123 3 2
    4
    1 2
    1 5
    3 4
    2 3
    

    样例输出:

    34
    123
    123
    8
    

    思路:

    RMQ模板题。

    /**********************************************************
    * @Author:             Maple
    * @Date:               2020-02-22 12:16:47
    * @Last Modified by:   Maple
    * @Last Modified time: 2020-02-22 13:37:09
    * @Remark: 
    **********************************************************/
    #include <bits/stdc++.h>
    #define lowbit(x) (x&(-x))
    #define CSE(x,y) memset(x,y,sizeof(x))
    #define INF 0x3f3f3f3f
    #define Abs(x) (x>=0?x:(-x))
    #define FAST ios::sync_with_stdio(false);cin.tie(0);
    using namespace std;
     
    typedef long long ll;
    typedef pair<int,int> pii;
    typedef pair<ll , ll> pll;
     
    const int maxn=222222;
    int n,m,a[maxn],f[maxn][33],lg[maxn];
     
    int main()
    {
        #ifndef ONLINE_JUDGE
        freopen("in.in","r",stdin);
        #endif
        cin>>n;
        for(int i=1;i<=n;i++)
            scanf("%d",a+i);
        lg[0]=-1;
        for(int i=1;i<=n;i++){
            lg[i]=lg[i>>1]+1;
            f[i][0]=a[i];
        }
        for(int j=1;j<=20;j++){
            for(int i=1;i+(1<<(j-1))<=n;i++){
                f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);
            }
        }
        cin>>m;
        while(m--){
            int x,y;
            scanf("%d%d",&x,&y);
            int s=lg[y-x+1];
            printf("%d
    ",max(f[x][s],f[y-(1<<s)+1][s]));
        }
        return 0;
    }
    
  • 相关阅读:
    在使用SMO时,检索IsSystemObject属性将导致性能急剧下降的解决方法
    在没有安装.NET Framework 3.5的机器上使用LINQ等特性
    我的网站中的组织层次结构图信息与AD的同步问题
    有关视图状态(ViewState)的一些问题
    窗体控件visible属性问题
    SiteMapNode的几个特殊属性
    创建本地数据库时发生错误及其解决方案
    在基于Windows验证的Web应用程序中检索当前用户的所有角色
    在数据库恢复之前将数据库置为单用户模式
    将ASP.NET网站嵌入到MOSS站点下面的做法
  • 原文地址:https://www.cnblogs.com/LeafLove/p/12496077.html
Copyright © 2020-2023  润新知