zoukankan      html  css  js  c++  java
  • 游戏之消除(最长递增序列)

    描述

     

    zzx和city一直喜欢一起玩游戏,某一天zzx做了一个丧心病狂的消消乐游戏,游戏是这样的,zzx随机生成一个序列让city从前往后寻找5个数ai(1<=i<=5)如果5个数ai满足a1<a2<a3<a4<a5则可以消除这5个数,然而目前出现了一种情况,就是zzx和city不清楚这个序列还有没有可以消除的方案,所以想请你帮忙判断一下。

    输入

     

    输入数据有多组,输入到文件结束为止。

    第一行输入一个N(106>=N>=5)。

    第二行输入N个zzx随机生成的序列(在int32范围内的数字)。

    输出

     

    如果有可以消除的方案,输出YES,否则输出NO

    样例输入

    样例输出

     

    解题思路:二分 替换

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 #include <algorithm>
     5 using namespace std;
     6 
     7 int n;
     8 const int N=1e6+5;
     9 int dp[N],arr[N];
    10 int len;
    11 
    12 //inline int read(){
    13 //    int x=0,f=1;
    14 //    char ch=getchar();
    15 //    while(ch<'0'||ch>'9'){
    16 //        if(ch=='-') f=-1;
    17 //        ch=getchar();
    18 //    }
    19 //    while(ch>='0'&&ch<='9'){
    20 //        x=(x<<1)+(x<<3)+(ch^48);
    21 //        ch=getchar();
    22 //    }
    23 //    return x*f;
    24 //}
    25 
    26 void Binary(int num){
    27     int left=1,right=len;
    28     int ans;
    29     while(left<=right){
    30         int mid=left+right>>1;
    31         if(dp[mid]>=num) ans=mid,right=mid-1;
    32         else left=mid+1;
    33     }
    34     dp[ans]=num;
    35 }
    36 
    37 int main(){
    38     while(scanf("%d",&n)!=EOF){
    39         for(int i=1;i<=n;i++) scanf("%d",&arr[i]);
    40         dp[1]=arr[1];
    41         len=1;
    42         for(int i=2;i<=n;i++){
    43             if(arr[i]>dp[len]) dp[++len]=arr[i];
    44             else{
    45                 Binary(arr[i]);
    46             }
    47         }
    48         if(len>=5) printf("YES
    ");
    49         else printf("NO
    ");
    50     }
    51     return 0;
    52 }
    View Code
  • 相关阅读:
    jstl核心标签库
    乱码的解决
    eclipse 中 Servlet 模板代码(其实是代码提示模板)
    因为最近一直在和数据库打交道,所以做了几个小封装
    意外发现的大批量导入数据SqlBulkCopy类
    Http相关
    Tomcat相关
    对于反射中的invoke()方法的理解
    SqlCommandBuilder类是如何构建T-Sql语句
    模拟在内存中的数据库DataSet相关的类
  • 原文地址:https://www.cnblogs.com/qq-1585047819/p/11317972.html
Copyright © 2011-2022 走看看