zoukankan      html  css  js  c++  java
  • bzoj2096: [Poi2010]Pilots

    Description

    Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值。耍畸形一个人是不行的,于是他找到了你。

    Input

    输入:第一行两个有空格隔开的整数k(0<=k<=2000,000,000),n(1<=n<=3000,000),k代表Tz设定的最大值,n代表难度序列的长度。第二行为n个由空格隔开的整数ai(1<=ai<=2000,000,000),表示难度序列。

    Output

    输出:最大的字串长度。

    Sample Input

    3 9
    5 1 3 5 8 6 6 9 10

    Sample Output

    4
    (有两个子串的长度为4: 5, 8, 6, 6 和8, 6, 6, 9.最长子串的长度就是4)

    HINT

     

    Source

    by poi

    题解:
    http://hzwer.com/5235.html
    code:
     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cmath>
     4 #include<cstring>
     5 #include<algorithm>
     6 using namespace std;
     7 char ch;
     8 bool ok;
     9 void read(int &x){
    10     for (ok=0,ch=getchar();!isdigit(ch);ch=getchar()) if (ch=='-') ok=1;
    11     for (x=0;isdigit(ch);x=x*10+ch-'0',ch=getchar());
    12     if (ok) x=-x;
    13 }
    14 const int maxn=3000005;
    15 int k,n,v,hmin,tmin,hmax,tmax,ans,last;
    16 struct Data{
    17     int val,id;
    18 }qmin[maxn],qmax[maxn];
    19 int main(){
    20     read(k),read(n);
    21     hmin=hmax=1,tmin=tmax=0,last=1;
    22     for (int i=1;i<=n;i++){
    23         read(v);
    24         while (hmin<=tmin&&qmin[tmin].val>v) tmin--;
    25         qmin[++tmin]=(Data){v,i};
    26         while (hmax<=tmax&&qmax[tmax].val<v) tmax--;
    27         qmax[++tmax]=(Data){v,i};
    28         while (hmin<=tmin&&hmax<=tmax&&qmax[hmax].val-qmin[hmin].val>k)
    29             if (qmax[hmax].id<qmin[hmin].id) last=qmax[hmax++].id+1;
    30             else last=qmin[hmin++].id+1;
    31         ans=max(ans,i-last+1);
    32     }
    33     printf("%d
    ",ans);
    34     return 0;
    35 }
  • 相关阅读:
    js01
    js---18miniJquery
    js---17继承中方法属性的重写
    js---16继承
    js---16原型链
    js---15深拷贝浅拷贝 原型链
    js---14公有私有成员方法
    js---13 this call apply
    js---12对象创建方式,构造器,原型
    ESXi导出的CentOS7 ovf文件导入到workstation 无法打开GUI登录界面的问题解决方案
  • 原文地址:https://www.cnblogs.com/chenyushuo/p/5252043.html
Copyright © 2011-2022 走看看