HDU 1087 Super Jumping! Jumping! Jumping!

另一动态规划基本题型,LIS...

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=1087

代码如下:

#include <stdio.h>
int n;
int max;
int num[1000005];
int dp[1000005];
void d_p()
{
max = dp[0];
for( int i = 0; i < n; i++ )
{
for( int j = 0; j < i; j++ )
if( num[j]<num[i] && dp[i]<dp[j]+num[i] )
dp[i] = dp[j]+num[i];
if( max < dp[i] )
max = dp[i];
}
}
int main()
{
while( scanf( "%d", &n ), n )
{
for( int i = 0; i < n; i++ )
{
scanf("%d",&num[i]);
dp[i] = num[i];
}
d_p();
printf("%d\n",max);
}
return 0;
}

 

posted @ 2012-03-28 21:08  双生_浅羽  阅读(151)  评论(0编辑  收藏  举报