HDOJ 1087 Super Jumping! (DP)
来源:互联网 发布:淘宝经营类目 编辑:程序博客网 时间:2024/06/08 18:20
HDOJ 1087
这是一道经典的DP问题。寻找最大的一条递增子序列。我们从状态转移方程和边界条件两方面考虑。
假设dp[i]是从start开始到a[i]可获得的最大分数,a[i]中存储第i个点的分数值,那么可以得到
状态转移方程:
dp[i]=max(dp[i],dp[j]+a[i])
条件:
j< I 且a[i]>=a[j],及j表示每一个在i前面,且值不大于a[i]的点,计算完dp后,很明显就是dp中的最大值。
#include<iostream>#include<string.h>using namespace std;#define inf 0x3f3f3f#define maxn 1005int dp[maxn],a[maxn];int max(int x,int y){return x>y?x:y;}int main(){ int n,i,j; while(cin>>n &&n){ memset(dp,0,sizeof(dp)); for(i=0;i<n;i++){ cin>>a[i]; dp[i]=a[i]; } for(i=0;i<n;i++){ for(j=0;j<i;j++){ if(a[i]>a[j]) dp[i]=max(dp[i],dp[j]+a[i]); } } int ans=0; for(i=0;i<n;i++) ans=max(ans,dp[i]); cout<<ans<<endl; } return 0;}
阅读全文
0 0
- hdoj 1087Super Jumping! Jumping! Jumping!【dp】
- HDOJ 1087 Super Jumping! Jumping! Jumping!(DP)
- hdoj 1087Super Jumping! Jumping! Jumping!《《dp》》
- HDOJ 1087-Super Jumping! Jumping! Jumping!【DP】
- HDOJ 1087 Super Jumping! (DP)
- HDOJ 1087 Super Jumping! Jumping! Jumping!简单DP
- hdoj.1087 Super Jumping! Jumping! Jumping!【DP】 2015/03/27
- HDOJ 1087 Super Jumping! Jumping! Jumping! (dp)
- HDOJ/HDU 1087 Super Jumping! Jumping! Jumping!(经典DP~)
- HDOJ-----1087Super Jumping! Jumping! Jumping!(DP)
- HDOJ 1087 Super Jumping! Jumping! Jumping! (DP)
- hdu/hdoj 1087 Super Jumping! Jumping! Jumping!
- HDOJ 1087 Super Jumping! Jumping! Jumping!
- hdoj 1087 Super Jumping! Jumping! Jumping!
- HDOJ 1087 Super Jumping! Jumping! Jumping!
- HDOJ 1087 Super Jumping! Jumping! Jumping!
- hdu/hdoj 1087 Super Jumping! Jumping! Jumping!
- hdoj 1087 Super Jumping! Jumping! Jumping!
- 代码优化:Hibernate中的动态更新 dynamic-update
- JavaScript
- 【数据结构】中归并排序的实现
- 关于警告: No mapping found for HTTP request with URI [/spMVC/] in DispatcherServlet with name 'spMVC'的问题
- LVM磁盘管理(创建、扩容、缩减、快照)
- HDOJ 1087 Super Jumping! (DP)
- excel读写
- @ResponseBody 不返回NULL的正确方法(亲测有效)
- Git Push 避免用户名和密码方法
- spring实战-自动装配bean
- HDFS再学习:HA和Federation机制
- 牧佑OneZeroZeroDayDream--File字节流读入与输出简单实现
- HDU4417 Super Mario(划分树+二分)
- TF-IDF提取文章关键词算法