最长非递减子序列LIS(动态规划法,一维)

//动态规划法
//LIS(时间复杂度为n平方)

#include 
#include 
#define N 1000

using namespace std;

int LIS(int A[], int length)
{
    int d[N];
    for(int i=1;i1;
    d[0]=0;
    for(int i=1;i<=length;i++)
    {
        for(int j=1;jif(A[j]1)>d[i]) d[i]=d[j]+1;
        }
    }
    return d[length];
}

int main(int argc, char *argv[])
{
    int length; cin >> length;
    int A[N];
    for(int i=1;i<=length;i++) cin >> A[i];

    cout << LIS(A,length) <cout << "Hello World!" << endl;
    return 0;
}

你可能感兴趣的:(算法导论,动态规划法,动态规划)