当前位置: 代码迷 >> 综合 >> HDU 1087 Super Jumping! Jumping! Jumping! 上升序列最大和+DP .
  详细解决方案

HDU 1087 Super Jumping! Jumping! Jumping! 上升序列最大和+DP .

热度:120   发布时间:2023-09-23 06:50:08.0

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1087

水题

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=1000+5;
int d[maxn],n[maxn];
//d[i] 表示前i个上升子序列的最大和 
int main()
{int N; while(cin>>N,N){for(int i=0;i<N;i++){scanf("%d",&n[i]);d[i]=n[i];for(int j=0;j<i;j++)if(n[j]<n[i]) d[i]=max(d[j]+n[i],d[i]);} cout<<*max_element(d,d+N)<<endl;}return 0;
} 


  相关解决方案