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]

  • 相关阅读:
    错误机制
    IO文件
    lua与c的交互(运用)
    lua与c的交互(函数专用)
    string库
    元表

    模块与包
    zsh终端下,配置环境变量使用~/.zshrc
    MX150+python3.7+CUDA10.0+Tensorflow-gpu1.13安装记录
  • 原文地址:https://www.cnblogs.com/J-william/p/6362150.html
Copyright © 2011-2022 走看看