0
点赞
收藏
分享

微信扫一扫

HDU 1087 Super Jumping! Jumping! Jumping!(求绝对递增子序列的最大和)

Raow1 2022-08-04 阅读 82


题目地址:​​点击打开链接​​

思路:求绝对递增子序列的最大和

AC代码:

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



举报

相关推荐

0 条评论