最长上升子序列

来源:互联网 发布:淘宝贷款怎么联系客服 编辑:程序博客网 时间:2024/06/06 04:13
贴一个最长上升子序列的模板,这大概是poj2533的题解:
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int a[1005],dp[1005],n;int main(){    scanf ("%d", &n);    if (n == 0){        printf ("1\n");        return 0;    }    for (int i = 1; i <= n; i++)         scanf ("%d",&a[i]);    int i, j;    for (i = 1; i <= n; i++) {        dp[i] = 1;        for (j = 1; j < i; j++) {             if(a[i] > a[j])                dp[i] = max(dp[i],dp[j] + 1);        }    }    int ans = 0;    for (i = 1; i <= n; i++)        if (dp[i] > ans) ans = dp[i];    printf ("%d\n",ans);    return 0;}



0 0
原创粉丝点击