hdu 1087 动态规划 求最大递增子序列

来源:互联网 发布:js实现上拉加载更多 编辑:程序博客网 时间:2024/05/22 04:59
//求最大递增子序列,状态方程:dp[i]=max(dp[i],dp[j]+data[i]) #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int dp[1005],data[1005],t;int main(){int N;while(~scanf("%d",&N)&&N){int i,j;for(i=1;i<=N;i++) scanf("%d",&data[i]);int ans=data[1];for(i=1;i<=N;i++){dp[i]=data[i];for(j=i;j>=1;j--){if(data[i]>data[j]){dp[i]=max(dp[i],dp[j]+data[i]);}}if(ans<dp[i]) ans=dp[i];}printf("%d\n",ans);}return 0;}

0 0
原创粉丝点击