杭电1087 Super Jumping! Jumping! Jumping!

来源:互联网 发布:软件开发过程控制 编辑:程序博客网 时间:2024/04/28 06:03

简单的DP题,就是LIS变形而来的LIS和,注意并不要求数之间要相邻

 

LIS解析详见:http://blog.csdn.net/niteip/article/details/7444973

 

#include<stdio.h>#include<string.h>int a[1005],DP[1005];int max(int a,int b){return a>b?a:b;}int main(){int n,re;while(~scanf("%d",&n) && n){int i,j;re=-99999999;for(i=0;i<n;i++)scanf("%d",&a[i]);DP[0]=a[0];for(i=1;i<n;i++){DP[i]=a[i];for(j=0;j<i;j++){if(a[j]<a[i]){if(DP[i]<DP[j]+a[i])DP[i]=DP[j]+a[i];}}}for(i=0;i<n;i++){if(re<DP[i])re=DP[i];}printf("%d\n",re);}return 0;}


 

原创粉丝点击