zoukankan      html  css  js  c++  java
  • codevs 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

    【思路】

    序列dp

    dp[i]为以a[i]为终点的最长不下降子序列的长度,所以最后要+1;

    【code】

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int n,ans;
    int a[5004],dp[5004];
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<i;j++)
            {
                if(a[j]<a[i])
                dp[i]=max(dp[i],dp[j]+1);
                ans=max(ans,dp[i]);
            }
        }
        printf("%d
    ",ans+1);
        return 0;
    }
  • 相关阅读:
    go 代理
    mongo创建用户
    博客搬家&留言板
    noip2020 SD选手迷惑行为大赏
    noip2020游记
    P4174 [NOI2006] 最大获利
    P3327 [SDOI2015]约数个数和
    P5069 [Ynoi2015]纵使日薄西山
    P3747 相逢是问候
    HDE6315 Naive Operations
  • 原文地址:https://www.cnblogs.com/zzyh/p/6978182.html
Copyright © 2011-2022 走看看