博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电1087
阅读量:6821 次
发布时间:2019-06-26

本文共 557 字,大约阅读时间需要 1 分钟。

题意:求递增子序列的和的最大值。

Analyse:一开始想到的居然是把每个格子的加或不加都计算一次然后放在数组里面,再想一下发觉这就是暴力了。之后还是想到了动态规划的方法,因为a[n]能不能加进去只跟之前的子序列最后一个元素的大小有关,所以如果a[n]能加进去某个子序列里面的话,只需要用到这个子序列的最优解(而不需要其他情况的),而且要使a[n]为尾的子序列的和最大,要选一个之前的最大的子序列。因此递推式为dp[n]=max{dp[i],i=0,1,2......n-1}+a[n]或dp[n]=a[n]。

View Code
1 #include
2 using namespace std; 3 int a[1000]; 4 int dp[1000]; 5 int main() 6 { 7 int n,i,j,max; 8 while(cin>>n && n) 9 {10 for(i=0;i
>a[i];12 for(i=0;i

转载于:https://www.cnblogs.com/ZShogg/archive/2012/08/21/2649624.html

你可能感兴趣的文章
RHCE 学习笔记(28) Target Service
查看>>
freemarker 数字格式化
查看>>
解决SELinux对网站目录权限控制的不当的问题
查看>>
2016年4月6日作业
查看>>
RxJava 学习笔记<十> 译 Leaving the monad
查看>>
Mariadb galera cluster 安装配置
查看>>
川模型 一款新的测试模型的提出与研究
查看>>
如何快速开发网站?
查看>>
手动创建并自动挂载swap分区
查看>>
cloudera search1.0.0环境搭建(1):搭建solrcloud
查看>>
bitnami-testlink 相关配置
查看>>
SpringBoot整合Quartz(升级版)
查看>>
导入sql语句 汉字编码不一样报异常
查看>>
html文本自动换行
查看>>
Exchange常见问题大全
查看>>
安装Sublime Text 2插件的方法
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Kubernetes NFS存储服务的误报
查看>>
meta设置
查看>>