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

    1576 最长严格上升子序列

     

    时间限制: 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

    分类标签 Tags

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    using namespace std;
    const int MAXN=10001;
    int a[MAXN][4];
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i][1]);
            a[i][2]=1;
            a[i][3]=0;    
        }
        for(int i=n-1;i>=1;i--)
        {
            int l=0,k=0;
            for(int j=i+1;j<=n;j++)
            {
                if(a[j][1]>a[i][1]&&a[j][2]>l)
                {
                    l=a[j][2];
                    k=j;
                }
            }
            if(l!=0)
            {
                a[i][2]=l+1;
                a[i][3]=k;
            }
        }
        int ans=0;
        for(int i=1;i<=n;i++)
        {
            if(a[i][2]>ans)
            ans=a[i][2];
        }
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    Scala Ant Tasks
    Git挂钩
    读写文件
    DC10用CSS定位控制网页布局
    table设置colspan属性,列宽显示错位解决方法
    ATM和购物商城-错题集
    python 函数参数多种传递方法
    python 函数 初学
    python 集合 gather
    元组 字体高亮 购物车练习
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6739300.html
Copyright © 2011-2022 走看看