zoukankan      html  css  js  c++  java
  • POJ 2533 Longest Ordered Subsequence (DP最长上升子序列)

    题目的大意是:给出一序列,求出该序列的最长上升子序列的最大长度。


    思路:

    a: 1 7 3 5 9 4 8

    dp: 1 2 2 3 4 3 4


    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    const int MAXN = 1005;
    
    int main()
    {
        int n;
        while( cin>>n )
        {
            int a[MAXN], dp[MAXN];
            int i, j;
            int ans=1;
            for( i=1; i<=n; ++i )
                cin >> a[i];
    
            memset( dp, 0, sizeof(dp) );
    
            for( i=2; i<=n; ++i)
            {
                for( j=1; j<i; ++j)
                {
                    if(a[i]>a[j])
                        dp[i]=max(dp[j]+1, dp[i]);
                }
                ans=max(ans, dp[i]+1);
            }
    
            cout<<ans<<endl;
        }
        return 0;
    }
    



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Python下载安装
    批量修改样式及全选反选
    小99
    练习题
    练习
    对象、函数
    操作document对象练习
    练习题
    0513-2
    0513-1
  • 原文地址:https://www.cnblogs.com/wanglaoda/p/4937142.html
Copyright © 2011-2022 走看看