zoukankan      html  css  js  c++  java
  • 牛客网寒假训练营2求最大非递减子序列的大小

    问题描述:

    Wozuinb非常喜欢打炉石传说,但是菜的不行,所以他决定打
    竞技场来练练手。系统按顺序给出n张卡牌,每张卡牌都有自
    己的使用消耗a[i],每次只给出一张,wozuinb可以选择或者
    弃掉这张牌。每选择一张牌都会按选择顺序放在卡槽中,当
    卡槽中放满30张即可组成一套套牌。Wozuinb希望自己的套牌的
    消耗满足一个平滑的曲线,即30张卡牌都满足第i张卡牌的消耗
    不小于第i-1张(i>1)。请你帮助wozuinb看一看,这些卡牌能不
    能组成想要的套牌,如果能组成输出“yes”,如果不能输出“no”。
    
    

    输入描述:

    第一行输入一个整数n,0<n<100。
    第二行输入一行数字a[i],每个数字用空格隔开,代表第i张出现的卡牌的消耗。

    输出描述:

    输出一行,“yes”或“no”

    示例1

    输入

    5
    1 2 3 4 5

    输出

    no



    最长非递减/(非递增)序列大小模板
     1 #include <iostream>
     2 #include<algorithm>
     3 #include<math.h>
     4 using namespace std;
     5 
     6 #define ll long long
     7 const int maxn=200;
     8 int main(int argc, char** argv) {
     9     int dp[maxn];
    10     int a[maxn];
    11     int n;
    12     cin>>n;
    13     int ans=0;
    14     for(int i=1;i<=n;i++)
    15     {
    16         cin>>a[i];
    17         dp[i]=1;
    18         for(int j=1;j<i;j++)
    19         {
    20             if(a[j]<=a[i])
    21             {
    22                 dp[i]=max(dp[i],dp[j]+1);
    23             }
    24         }
    25         cout<<dp[i]<<endl;
    26         ans=max(ans,dp[i]);
    27     }
    28     if(ans>=30)
    29     cout<<"yes"<<endl;
    30     else 
    31     cout<<"no"<<endl;
    32     return 0;
    33 }
  • 相关阅读:
    svn使用总结
    捕获JS 错误日志
    致敬 54岁的刘德华
    Mac 下 命令收藏
    坑人的七牛CDN
    【No.1】监控Linux性能25个命令行工具
    PAC 自动代理
    jquery 事件 多次绑定,多次触发,怎么清除历史绑定事件
    Squid 操作实践
    ntpdate[16603]: the NTP socket is in use
  • 原文地址:https://www.cnblogs.com/xiechenxi/p/8436981.html
Copyright © 2011-2022 走看看