我写的想法是每个dp【i】都是前dp【i】的最大值

dp【i】就等于前全部dp【0。。。i-1】的最大值加上dp【i】

最大值是一个中间变量

最大值得选取条件就是序列的值大小都是递增的,也就是a[i]>a[前面的]

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long LL;
LL a[1000+100];
LL dp[1100];
int main()
{
int n;
while(scanf("%d",&n),n!=0){
LL maxx=-4294967296;
for(int i=0;i<n;i++) scanf("%lld",&a[i]); for(int i=0;i<n;i++){
LL x=-4294967296;
for(int j=0;j<i;j++)
if(a[i]>a[j]&&dp[j]>x) x=max(dp[j],x);
if(x == -4294967296) x=0;
dp[i]=x+a[i]; if(dp[i] > maxx) maxx=dp[i];
} printf("%lld\n",maxx); }
return 0;
}

看了别人的代码,也就是把我写的x中间变量变成了b[i]

求dp【i】的时候b【i】是无用的。能够用来存中间值

就省了点代码,原理是一样的

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int a[1100],b[1100];
int main()
{
int n;
while(scanf("%d",&n)&&n!=0){
memset(b,0,sizeof(b));
int maxx=-4294967296;
for(int i=0;i<n;i++) scanf("%d",&a[i]);
for(int i=0;i<n;i++){
b[i]=a[i];
for(int j=0;j<i;j++)
{
if(a[i]>a[j]&&b[i]<a[i]+b[j]) b[i]=b[j]+a[i];
if(b[i]>maxx) maxx=b[i];
}
}
printf("%d\n",maxx);
}
return 0;
}

单行dp复习hdu1087的更多相关文章

  1. 区间DP复习

    区间DP复习 (难度排序:(A,B),(F,G,E,D,H,I,K),(C),(J,L)) 这是一个基本全在bzoj上的复习专题 没有什么可以说的,都是一些基本的dp思想 A [BZOJ1996] [ ...

  2. 集训DP复习整理

    DP复习 集训%你赛2:测绘(审题DP) 经过2000+个小时的努力终于把这道题做出来的蒟蒻通 分析: 这道题我一直没做出来的原因就是因为我太蒟了题面看不懂,题面读懂了,其实不是特别难. 题目翻译: ...

  3. 状压DP复习

    深感自己姿势水平之蒻……一直都不是很会状压DP,NOIP又特别喜欢考,就来复习一发…… 题目来源 Orz sqzmz T1 [BZOJ4197][NOI2015]寿司晚宴 (做过)质因数分解最大的质因 ...

  4. 状压DP复习笔记

    前言 复习笔记第4篇.CSP RP++. 引用部分为总结性内容. 0--P1433 吃奶酪 题目链接 luogu 题意 房间里放着 \(n\) 块奶酪,要把它们都吃掉,问至少要跑多少距离?一开始在 \ ...

  5. 斜率优化DP复习笔记

    前言 复习笔记2nd. Warning:鉴于摆渡车是普及组题目,本文的难度定位在普及+至省选-. 参照洛谷的题目难度评分(不过感觉部分有虚高,提高组建议全部掌握,普及组可以选择性阅读.) 引用部分(如 ...

  6. 矩阵乘法优化DP复习

    前言 最近做毒瘤做多了--联赛难度的东西也该复习复习了. Warning:本文较长,难度分界线在"中场休息"部分,如果只想看普及难度的可以从第五部分直接到注意事项qwq 文中用(比 ...

  7. 数位DP复习笔记

    前言 复习笔记第五篇.(由于某些原因(见下),放到了第六篇后面更新)CSP-S RP++. luogu 的难度评级完全不对,所以换了顺序,换了别的题目.有点乱,见谅.要骂就骂洛谷吧,原因在T2处 由于 ...

  8. NOIP 考前DP 复习

    POJ 2533 最长不降子序列 #include <cstdio> ; int a[Maxn],Pos[Maxn],F[Maxn],n,Ans; inline int Max(int x ...

  9. 树形DP 复习

    树形DP 树形DP:建立在树上的动态规划 一般有两种传递方式:根→叶或叶→根 前者出现在换根DP中,一般操作是求出某一个点的最优解,再通过这一个点推知其他点的最优解. 后者是树形DP的常见形式,一般树 ...

随机推荐

  1. 在Mac OS X中使用mtr诊断路由节点问题

    这个工具是从阿里云客服那知道的,当时遇到阿里云CDN的一个节点出现丢包问题,用这个工具诊断路由节点问题. 1. 下载地址:http://rudix.org/packages/mtr.html(在园子里 ...

  2. Gson json解析工具

    json 解析工具 ,谷歌出品 对象转换字符串 HashMap<String,String> hashMap = new HashMap<String, String>();  ...

  3. RTX——第13章 事件标志组

    以下内容转载自安富莱电子: http://forum.armfly.com/forum.php 前面的章节我们已经讲解了任务管理和时间管理,从本章节开始讲解任务间的通信和同步机制.首先讲解任务间的通信 ...

  4. Structs hibernate spring=ssh简介

    Structs  hibernate  spring Struts Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的. Struts框架可分为以下四 ...

  5. SpringMVC @RequestMapping 用法详解之地址映射

    @RequestMapping 用法详解之地址映射 http://blog.csdn.net/walkerjong/article/details/7994326

  6. linux后台运行jar程序

    Linux 运行jar包命令如下: 方式一:java -jar XXX.jar特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出那如何让窗口不锁定? 方式二java ...

  7. expect模块的使用,主要没装包折腾一晚上

    第一步首先下载expect 模块,yum list |grep expect ,安装下面的模块. expect.x86_64                               5.44.1. ...

  8. PHP程序员的10个有用的技巧和教程

    PHP被定义为一个通用的服务器端脚本语言,它基本上是专为Web开发的重要目的.借助PHP可以创建动态和惊人的网页效果,他是被嵌入在一个HTML源文件的服务器端的脚本语言之一.因此,它成为最流行的,也是 ...

  9. sparkR 跑通的函数

    spark1.4.0的sparkR的思路:用spark从大数据集中抽取小数据(sparkR的DataFrame),然后到R里分析(DataFrame). 这两个DataFrame是不同的,前者是分布式 ...

  10. 【这特么是个坑。。。】iOS 10.3下解决Charles抓包ssl证书信任问题

    针对近期iOS 10.3以上的系统charles抓https信任问题 前言 最近iPhone系统更新到ios 10.3后,在公司里用Charles抓包竟然出现了一些问题,https的请求都会失败,提示 ...