您的位置:首页 > 其它

最长下降子序列 nyoj 79

2016-10-06 21:02 190 查看
nyoj 79 http://acm.nyist.net/JudgeOnline/problem.php?pid=79&rec=rec

#include <cstdio>
#include <iostream>
#include <algorithm>
#include<string.h>
using namespace std;
int a[200];
int dp[200];
int res;
int  solve(int *a,int n){   // 参考挑战程序设计入门经典;
res = 0;
for(int i = 0; i < n; ++i){
dp[i] = 1;
for(int j = 0; j < i; ++j){
if(a[j] > a[i]){
dp[i] = max(dp[i], dp[j]+1);
}
}
res = max(res,dp[i]);
}
return res;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}

printf("%d\n", solve(a,n));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: