hdu1024Max Sum Plus Plus

之前在书里看过了,但是没有做过例题,忘记它的原理了

dp[i][j]表示前i个数中选j段所能构成的最大值,(强调一下,这j段包括最后一个元素[i]的),这样第i个元素要不跟倒数第二个一起,要不独自形成一段——第j段
dp[i][j]=max(dp[i-1][j], dp[i-len[j]][j-1]+sum) len[j]表示第j段的长度,sum表示长度为len[j]的

当然得用优化算法,这是优化算法是在书里面看到的,挺巧妙的

for(i=1;i<=m;i++){
max=-INF;
for(j=i;j<=n;j++){
dp[j]=maxb(dp[j-1]+num[j],pre[j-1]+num[j]);
pre[j-1]=max;
max=maxb(max,dp[j]);
}

dp指上面的dp[i][j],pre记录第j个数前最大的dp

说说我的看完题解后,自己的敲的代码错在哪里吧

for(i=1;i<=m;i++)把这里的m改成n就错了,因为这里的m是指段数

for(j=i;j<=n;j++)把这里的j=i改成j=1就错了,因为i段的话,至少都要从第i个数开始吧

for(i=0;i<=n;i++){pre[i]=0;dp[i]=0;}把这个换成memset(pre),memset(dp)超时了,毕竟是1000000次吗,浪费太多操作了

贴上我的ACCEPT代码吧

#include "iostream"
#include "string.h"
#define INF 9999999;
using namespace std;
int maxb(int a,int b){return a>b?a:b;}
int pre[1000010],dp[1000010],num[1000010];int main(){int m,n,i,j,max;while(cin>>m>>n){for(i=1;i<=n;i++)cin>>num[i];for(i=0;i<=n;i++){pre[i]=0;dp[i]=0;}for(i=1;i<=m;i++){max=-INF;for(j=i;j<=n;j++){dp[j]=maxb(dp[j-1]+num[j],pre[j-1]+num[j]);pre[j-1]=max;max=maxb(max,dp[j]);}}cout<<max<<endl;}
}

 

 

转载于:https://www.cnblogs.com/dowson/p/3277432.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国内有哪些不错的CV(计算机视觉)团队

点击上方“算法猿的成长”&#xff0c;选择“加为星标”第一时间关注 AI 和 Python 知识来源&#xff1a;知乎问题对于初入 CV 领域的同学&#xff0c;如果可以加入一个不错的团队&#xff0c;有好的导师带着&#xff0c;同时还有可以请教的师兄师姐&#xff0c;会加快入门 CV …

数据全裸时代,你的隐私有多容易获取?

大家好我是痴海&#xff0c;一位转型做增长的爬虫师&#xff0c;由于工作的缘故&#xff0c;对于身边许多信息都非常敏感。上个月朋友圈有很多人都在晒四六级成绩&#xff0c;有人欢喜有人忧愁&#xff0c;而我却感受到深深的恐惧。2018 年腾讯手机管家在一个报告中公布了一个数…

单元测试的一些基本概念

我们&#xff08;程序员&#xff09;多多少少都写过单元测试&#xff0c;有的可能几年前写的几行代码&#xff08;比如我&#xff09;&#xff0c; 姑且也算写过吧&#xff0c;但是有些东西还是不是很清楚&#xff0c;比如什么是单元测试&#xff1f;怎么才算是好的单元测试&am…

深度学习领域有哪些瓶颈

来源&#xff1a;知乎问题深度学习是近年来人工智能热潮的原因&#xff0c;它的出现在很多方面都作出了突破&#xff0c;包括在图像、NLP以及语音等领域都有很多问题取得很大的突破&#xff0c;但它目前也存在一些问题和瓶颈需要解决。量子位https://www.zhihu.com/question/40…

cnn调优总结

关注&置顶“算法猿的成长”每日8:30&#xff0c;干货速递&#xff01;转载自 Charlotte数据挖掘资料来自网上&#xff0c;略有删改针对CNN优化的总结Systematic evaluation of CNN advances on the ImageNet使用没有 batchnorm 的 ELU 非线性或者有 batchnorm 的 ReLU。用类…

Android笔记之自定义Editext

1、重写EdiText类,下面是一个逐条显示下划线的Editext import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.Gravity; import android.w…

养成好习惯

马上就要毕业了&#xff0c;虽然只有一年了&#xff0c;但是感觉似乎就是明天了。 自己可能要离开这里到新的地方展开新的旅行了&#xff01;记得自己刚来大学的时候&#xff0c;还是很稚嫩的&#xff0c;对未来充满了各种美好的期待&#xff0c;也对于自己的大学生活有着无限的…

程序员到底要不要接外包?

? “沉默王二” &#xff0c;你值得星标的公众号之前写过一篇文章&#xff0c;题目叫做《窝在二线城市很难受&#xff0c;要杀回一线城市吗》&#xff0c;里面提到程序员接外包这件事&#xff0c;于是很多小伙伴就私下问我&#xff1a;二哥&#xff0c;我也想接外包&#xff0…

Github项目|几行代码即可实现人脸检测、目标检测的开源计算机视觉库

关注&置顶“算法猿的成长”每日8:30&#xff0c;干货速递&#xff01;2019 年第 73 篇文章&#xff0c;总第 97 篇文章今天介绍一个简单、易用的开源计算机视觉库&#xff0c;名字是 cvlib&#xff0c;其 Github 地址&#xff1a;https://github.com/arunponnusamy/cvlib官…

认识迅雷界面引擎

UI开发的新时代----认识迅雷界面引擎 第一部分&#xff1a;交互开发技术概述软件产品的交互开发一直以来都不是一件令人愉悦的事情。首先&#xff0c;由于每个人编写的第一个图形应用程序就已经使用了一些交互开发技术&#xff0c;而且由于IDE工具的强大,容易总结出交互开发就是…

最棒的Chrome插件去哪找?这里有一份榜单

上个月给大家介绍了重大更新后的 扩展迷 Extfans 网站&#xff0c;当时也说到&#xff1a;可以把它当成是一个 Chrome 商店的镜像版&#xff0c;可以无障碍下载安装 Chrome 扩展。不得不说&#xff0c;在不能正常使用 Chrome 商店的情况下&#xff0c;多亏了扩展迷 Extfans 这样…

看代码学知识之(2) ListView无数据时显示其他View

看代码学知识之&#xff08;2&#xff09; ListView无数据时显示其他View 今天看的一块布局是这样的&#xff1a; <!--The frame layout is here since we will be showing eitherthe empty view or the list view.--><FrameLayoutandroid:layout_width"match_pa…

【原创】推荐广告入门:DeepCTR-Torch,基于深度学习的CTR预测算法库

在计算广告和推荐系统中&#xff0c;CTR预估一直是一个核心问题。无论在工业界还是学术界都是一个热点研究问题&#xff0c;近年来也有若干相关的算法竞赛陆续举办。本文介绍一个使用PyTorch编写的深度学习的点击率预测算法库DeepCTR-Torch&#xff0c;具有简洁易用、模块化和可…