hdu 1087 Super Jumping! Jumping! Jumping! ----dp
来源:互联网 发布:unity3d地图编辑器 编辑:程序博客网 时间:2024/04/20 10:30
题意:找所有上升子序列和中的最大值。
思路:统计以a[i]为上升子序列的最后一个值时,向前找上一个满足的最大累加和。
写法就很多了。。
#include<cstdio>#include<cstring>#include<iostream>using namespace std;int a[1005],dp[1005];int main(){ int n,ans; while(scanf("%d",&n)&&n) { memset(dp,0,sizeof(dp)); ans=-1000000; for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) { for(int j=0;j<i;j++) { if(dp[j]==0) dp[j]=a[j]; if(a[i]>a[j] && dp[j]+a[i]>dp[i]) //开始少了&&后面的,要汲取教训! dp[i]=dp[j]+a[i]; } if(dp[i]==0) dp[i]=a[i]; if(dp[i]>ans) ans=dp[i]; } printf("%d\n",ans); } return 0;}
之前做过这题,是另外开了个数组b,写法稍有区别,见下:
#include<cstdio>#include<cstring>using namespace std;int a[1005],b[1005];int main(){ int ans,n; while(scanf("%d",&n)&&n) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) { int maxb=0; for(int j=0;j<i;j++) { if(a[i]>a[j] && maxb<b[j]) maxb=b[j]; } b[i]=a[i]+maxb; } ans=-1000000; for(int i=0;i<n;i++) { if(b[i]>ans) ans=b[i]; } printf("%d\n",ans); } return 0;}
0 0
- hdu 1087 Super Jumping! Jumping! Jumping! DP
- HDU 1087 Super Jumping! Jumping! Jumping! DP
- hdu 1087 Super Jumping! Jumping! Jumping! ----dp
- HDU 1087 Super Jumping! Jumping! Jumping!(dp)
- Super Jumping! Jumping! Jumping! -HDU 1087 dp
- HDU 1087 Super Jumping! Jumping! Jumping!(DP)
- HDU 1087 Super Jumping! Jumping! Jumping! DP
- HDU 1087 Super Jumping! Jumping! Jumping!(DP)
- HDU 1087 Super Jumping! Jumping! Jumping!(DP)
- [HDU 1087 Super Jumping! Jumping! Jumping!] DP
- DP-HDU-1087-Super Jumping!Jumping!Jumping!
- HDU-1087-DP-Super Jumping! Jumping! Jumping!
- HDU 1087 Super Jumping! Jumping! Jumping!(DP)
- hdu 1087 Super Jumping! Jumping! Jumping! dp
- HDU 1087 Super Jumping! Jumping! Jumping! DP
- HDU 1087 Super Jumping! Jumping! Jumping!【dp】
- HDU-1087 Super Jumping! Jumping! Jumping! (DP)
- HDU-1087 Super Jumping! Jumping! Jumping!(DP)
- fedora20搭建嵌入式开发环境1 - 系统安装
- UVa 11997 K Smallest Sums / 优先队列
- Java源码解析-DualPivotQuicksort
- RTP与RTCP协议介绍
- 代码调整技术(Code-Tuning Techniques)
- hdu 1087 Super Jumping! Jumping! Jumping! ----dp
- 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法
- ExtJS4学习笔记(十三)---ExtJS4图片验证码的实现
- RTMP/RTP/RTSP/RTCP的区别
- fedora20搭建嵌入式开发环境2 - 开发工具安装
- oracle11g不能导出空表
- 李克强与马化腾、雷军等企业界人士座谈
- windows创建SVN服务器之一
- poj3067---树状数组