hdu 1087 Super Jumping! Jumping! Jumping! 动态规划
2016-03-14 10:50
295 查看
题意:求n个点的和最大上升子序列。
简单题,d[i]=max(d[j]+a[i]),(j<i且a[j]<a[i]),求最大的d[i]得解。
简单题,d[i]=max(d[j]+a[i]),(j<i且a[j]<a[i]),求最大的d[i]得解。
#include <iostream> #include<cstdio> #include<cmath> #define N 1100 using namespace std; int d ,a ; int main() { int n; while(scanf("%d",&n)&&n) { for(int i=1;i<=n;i++) scanf("%d",&a[i]),d[i]=a[i]; int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<i;j++) if(a[j]<a[i]) d[i]=max(d[i],d[j]+a[i]); ans=max(d[i],ans); } cout<<ans<<endl; } }
相关文章推荐
- The sandbox is not sync with the Podfile.lock问题解决方案
- 端口被占用解决方法
- Android开发笔记(七十九)资源与权限校验
- Swift 类构造器的使用
- KVM 存储虚拟化 - 每天5分钟玩转 OpenStack(7)
- Effective Java Second Edition --- Builder Pattern
- cmd中无法运行svn命令
- js工具类
- OpenWrt LIRC GPIO blaster and WinLIRC receiver
- .gitignore无效,不能过滤某些文件
- JAVA反射原理
- tmux 快捷键
- IE上ORACLE OEM 证书错误 , 导航阻止,无法”继续浏览此网站”
- cordova插件开发
- iOS 3DTouch 开发
- 北京Uber优步司机奖励政策(3月14日)
- Pascal's Triangle II
- 最少换乘 之简化版
- 3月9日作业
- 启动activity时,有个一闪而过界面