单行dp复习hdu1087
我写的想法是每个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的更多相关文章
- 区间DP复习
区间DP复习 (难度排序:(A,B),(F,G,E,D,H,I,K),(C),(J,L)) 这是一个基本全在bzoj上的复习专题 没有什么可以说的,都是一些基本的dp思想 A [BZOJ1996] [ ...
- 集训DP复习整理
DP复习 集训%你赛2:测绘(审题DP) 经过2000+个小时的努力终于把这道题做出来的蒟蒻通 分析: 这道题我一直没做出来的原因就是因为我太蒟了题面看不懂,题面读懂了,其实不是特别难. 题目翻译: ...
- 状压DP复习
深感自己姿势水平之蒻……一直都不是很会状压DP,NOIP又特别喜欢考,就来复习一发…… 题目来源 Orz sqzmz T1 [BZOJ4197][NOI2015]寿司晚宴 (做过)质因数分解最大的质因 ...
- 状压DP复习笔记
前言 复习笔记第4篇.CSP RP++. 引用部分为总结性内容. 0--P1433 吃奶酪 题目链接 luogu 题意 房间里放着 \(n\) 块奶酪,要把它们都吃掉,问至少要跑多少距离?一开始在 \ ...
- 斜率优化DP复习笔记
前言 复习笔记2nd. Warning:鉴于摆渡车是普及组题目,本文的难度定位在普及+至省选-. 参照洛谷的题目难度评分(不过感觉部分有虚高,提高组建议全部掌握,普及组可以选择性阅读.) 引用部分(如 ...
- 矩阵乘法优化DP复习
前言 最近做毒瘤做多了--联赛难度的东西也该复习复习了. Warning:本文较长,难度分界线在"中场休息"部分,如果只想看普及难度的可以从第五部分直接到注意事项qwq 文中用(比 ...
- 数位DP复习笔记
前言 复习笔记第五篇.(由于某些原因(见下),放到了第六篇后面更新)CSP-S RP++. luogu 的难度评级完全不对,所以换了顺序,换了别的题目.有点乱,见谅.要骂就骂洛谷吧,原因在T2处 由于 ...
- NOIP 考前DP 复习
POJ 2533 最长不降子序列 #include <cstdio> ; int a[Maxn],Pos[Maxn],F[Maxn],n,Ans; inline int Max(int x ...
- 树形DP 复习
树形DP 树形DP:建立在树上的动态规划 一般有两种传递方式:根→叶或叶→根 前者出现在换根DP中,一般操作是求出某一个点的最优解,再通过这一个点推知其他点的最优解. 后者是树形DP的常见形式,一般树 ...
随机推荐
- hdoj2037 今年暑假不AC
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 关于ajax上传文件的流程 和选择图片立即显示
关键点: 1.制作一个表单..然后把上传字段附加到该表单中 2.制作一个框架..把表单的_target的属性指向该框架. 3.提交表单.. jQuery.extend({ createUploadIf ...
- 封装一个音乐列表music-list基础组件,可以共用,哪个需要的时候就是哪个props相应的值
1.封装music-lsit组件: <template> <div class="music-list singer-detail"> <div cl ...
- Brocade300 commands
aaaconfig Configure RADIUS for AAA servicesad Specifies all ...
- macOS Sierra 10.12.4 (16E195) - Clover [ 20170403 ]
原文:https://user.qzone.qq.com/753313822/blog/1424460141?_t_=0.48652242555134495 建议使用 1920 * 1080 屏幕分辨 ...
- 在js代码中调用jsp的变量
<% int coblid=Integer.parseInt(request.getParameter("blid")); %> <script> var ...
- HttpClient-4.3.X 中get和post方法使用
转自:http://linhongyu.blog.51cto.com/6373370/1538672 一.简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效 ...
- 【技术】正則表達式—匹配电话号码,网址链接,Email地址
#pragma mark - 正则匹配电话号码.网址链接.Email地址 + (NSMutableArray *)addHttpArr:(NSString *)text { //匹配网址链接 NSSt ...
- CentOS 7 系统下安装gnome图形界面
在安装Gnome 包之前,我们需要先检查下安装源是否正常,因为我们要通过yum命令来安装gnome包, 而yum命令式通过yum 源来下载安装包的. 1.在命令行下输入下面的命令来安装 Gnome 包 ...
- java分布式集群
http://blog.csdn.net/guzicheng/article/details/11580841