zoukankan      html  css  js  c++  java
  • Task schedule

    hdu4907:http://acm.hdu.edu.cn/showproblem.php?pid=4907

    题意:中文题。

    题解:这一道水题,自己调了很久,并且没有注意到序列可能是乱序的,wa了好几次。我的做法就是,把间距大于=2的数的下标放进set,然后查询的时候,lower_bond一下,找到开始的下标,然后在set中找到第一个间距的下标,即可,注意要处理好边界问题。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<set>
     6 using namespace std;
     7 const int N=2e5+10;
     8 int a[N],n,m,t;
     9 int main(){
    10      int cas;
    11      scanf("%d",&cas);
    12      while(cas--){
    13          scanf("%d%d",&n,&m);
    14          memset(a,0,sizeof(a));
    15          set<int>Q;
    16          for(int i=1;i<=n;i++){
    17             scanf("%d",&a[i]);
    18          }
    19             sort(a+1,a+n+1);
    20          for(int i=1;i<=n;i++){
    21             if(i>1)
    22             if(a[i]-a[i-1]>=2)
    23              Q.insert(i-1);
    24          }
    25          for(int i=1;i<=m;i++){
    26             scanf("%d",&t);
    27             if(t>a[n]+1)printf("%d
    ",t);
    28             else if(t<a[1])printf("%d
    ",t);
    29             else{
    30             int temp=lower_bound(a+1,a+n+1,t)-a;
    31              if(a[temp]>t&&temp>1)temp--;
    32             set<int>::iterator it=Q.lower_bound(temp);
    33             if(it==Q.end())
    34                 printf("%d
    ",a[n]+1);
    35             else{
    36                 printf("%d
    ",max(a[(*it)]+1,t));
    37             }
    38           }
    39          }
    40      }
    41 }
    View Code
  • 相关阅读:
    SQL 拾遗
    PowerDesigner技巧
    进步
    'data.csv'
    System.Web”中不存在类型或命名空间名称script /找不到System.Web.Extensions.dll引用
    要学的技术
    Sql 表变量
    Tomcat 7.0的配置
    开发工具
    jQuery UI Dialog
  • 原文地址:https://www.cnblogs.com/chujian123/p/3889425.html
Copyright © 2011-2022 走看看