HDU 1087
来源:互联网 发布:3g软件培训机构 编辑:程序博客网 时间:2024/06/07 06:04
题意:求上升序列的最大和。
思路:简单DP。两重循环:dp[i]表示以v[i]结尾的最大和,状态转移方程dp[i]=max(dp[j]+v[i],dp[i]) (在v[j]<v[i]的前提下,表示可以从j跳到i)
AC代码:
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;int main(){int n,dp[1005],v[1005];while(scanf("%d",&n)!=EOF){ if(n==0) break; for(int i=1;i<=n;i++) scanf("%d",&v[i]); for(int i=1;i<=n;i++) { dp[i]=v[i]; for(int j=1;j<i;j++){ if(v[j]<v[i]) { if(dp[j]+v[i]>dp[i])dp[i]=dp[j]+v[i]; }} } int maxx=0; for(int i=1;i<=n;i++) { if(dp[i]>maxx)maxx=dp[i]; } printf("%d\n",maxx);}return 0;}
0 0
- HDU 1087
- hdu 1087
- hdu 1087
- HDU 1087
- hdu 1087
- hdu 1087
- hdu 1087
- hdu 1087
- HDU 1087
- hdu 1087
- hdu 1087
- hdu 1087
- HDU 1087
- hdu-1087
- hdu 1087
- hdu 1087
- HDU 1087
- HDU-1087
- 可视化与可视分析项目设计
- pat 1070. Mooncake (25)
- numpy的基本介绍
- ubuntu安装和查看已安装
- POJ 3126 Prime Path (BFS)
- HDU 1087
- 右击菜单简单实现
- Hadoop—Mahout部署及进行20newsgroup数据分析例子---练习10
- 字符串Hash函数
- Git详解之九 Git内部原理
- 一个简单结构体实现封装
- 12天学好C语言——记录我的C语言学习之路(Day 1)
- Android onClick 按钮单击事件 四种常用写法
- 漫谈好程序员的标准