您的位置:首页 > 产品设计 > UI/UE

POJ 2533 Longest Ordered Subsequence(DP动态规划)

2010-03-04 00:17 609 查看
//DP动态规划,求最长上升子序列
#include<cstdio>
int arr[1001],d[1001],len,max = 1;//最大值应初始化为1,因为最小值是1.当只有1个数据是输出1.
int main()
{
for(int i = 1;i <= 1000;++i)
d[i] = 1;//将DP数组初始化为1
scanf("%d",&len);
for(int i = 1;i <= len;++i)
scanf("%d",&arr[i]);
for(int i = 1;i < len;++i)
for(int j = i + 1;j <= len;++j)
{
if(arr[j] > arr[i] && d[j] <= d[i] + 1)//动态规划过程
d[j] = d[i] + 1;
if(d[j] > max)
max = d[j];
}
printf("%d/n",max);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: