zoukankan      html  css  js  c++  java
  • 最长严格上升子序列

    时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold
    题目描述 Description

    给一个数组a1, a2 ... an,找到最长的上升降子序列ab1<ab2< .. <abk,其中b1<b2<..bk。

    输出长度即可。

    输入描述 Input Description

    第一行,一个整数N。

    第二行 ,N个整数(N < = 5000)

    输出描述 Output Description

    输出K的极大值,即最长不下降子序列的长度

    样例输入 Sample Input

    5

    9 3 6 2 7

    样例输出 Sample Output

    3

    数据范围及提示 Data Size & Hint

    【样例解释】

    最长不下降子序列为3,6,7

    代码实现:

     1 #include<cstdio>
     2 int n,a;
     3 int s[1000001],v[1000001];
     4 int main(){
     5     scanf("%d",&n);
     6     for(int i=1;i<=n;i++) scanf("%d",&s[i]);
     7     v[++a]=s[1];
     8     for(int i=1;i<=n;i++){
     9         if(v[a]<s[i+1]) v[++a]=s[i+1];
    10         else
    11         for(int j=1;j<=a;j++)
    12         if(s[i+1]<v[j]){v[j]=s[i+1];break;}
    13     }
    14     printf("%d",a);
    15     return 0;
    16 }

    看不懂自己的代码~~~

    题目来源:CODE[VS]

  • 相关阅读:
    Nim or not Nim? hdu3032 SG值打表找规律
    Maximum 贪心
    The Super Powers
    LCM Cardinality 暴力
    Longge's problem poj2480 欧拉函数,gcd
    GCD hdu2588
    Perfect Pth Powers poj1730
    6656 Watching the Kangaroo
    yield 小用
    wpf DropDownButton 源码
  • 原文地址:https://www.cnblogs.com/J-william/p/6362150.html
Copyright © 2011-2022 走看看