Luogu P1115 最大子段和(dp 贪心)

 P1115 最大子段和

题目描述

给出一段序列,选出其中连续且非空的一段使得这段和最大。

输入输出格式

输入格式:

 

输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度。

第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。

 

输出格式:

 

输入文件maxsum1.out仅包括1个整数,为最大的子段和是多少。子段的最小长度为1。

 

输入输出样例

输入样例#1:
7
2 -4 3 -1 2 -4 3
输出样例#1:
4

说明

【样例说明】2 -4 3 -1 2 -4 3

【数据规模与约定】

对于40%的数据,有N ≤ 2000。

对于100%的数据,有N ≤ 200000。

 

  可以看出来是一道dp题,转移方程很好找, f[i] = max(f[i-1], 0) + a[i]

  边界条件是f[0] = 0            为什么要和0作比较,因为如果比0小,那么这个字段和活着也是挺失败的,不如重修2333

  AC①: dp(48ms)

 1 #include <cstdio>
 2 #include <algorithm>
 3 
 4 int a[200005];
 5 int f[200005];
 6 
 7 int main()
 8 {
 9     int n;
10     scanf("%d", &n);
11     for(int i=1; i<=n; i++)
12         scanf("%d", &a[i]);
13     
14     for(int i=1; i<=n; i++)
15         f[i] = std::max(f[i-1], 0) + a[i];
16     
17     int maxx = -1234567;
18     for(int i=1; i<=n; i++)
19             if(f[i] > maxx)
20                 maxx = f[i];
21     
22     printf("%d", maxx);
23     return 0;
24 }

 

 

  还可以用贪心的思路做

  AC②: (贪心 36ms)

 1 #include <cstdio>
 2 
 3 int main()
 4 {
 5     int n, a, b, maxx;
 6     scanf("%d", &n);
 7     b = maxx = -1234567;    // b表示前几个字段和最大值
 8     for(int i=1; i<=n; i++)
 9     {
10         scanf("%d", &a);
11         if(b < 0)    b = a;    // 如果b<0 那么不如直接重开
12         else b += a;    // b>=0 说明前面的字段和比较大 可以继续加下去
13         if(b > maxx) maxx = b;
14     }
15     printf("%d", maxx);
16     return 0;
17 }

 

转载于:https://www.cnblogs.com/yBaka/p/7397260.html

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

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

相关文章

微信 手机 网站 开发 签名 signature node (在更新中)

在进行微信手机网站开发时&#xff0c;第一座大山就是获取签名。下面是微信JS-SDK开发文档的内容&#xff0c;本文主要理清思路&#xff0c;开发起来&#xff0c;就很快了。 wx.config({debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来&#xff0c;若…

无效的appid排查方案

原贴地址&#xff1a;https://openclub.alipay.com/read.php?tid1909&fid72&ant_sourcezsearch&#xff0c;欢迎大家访问 报错信息一般如下&#xff1a; {"code":"40002","msg":"Invalid Arguments","sub_code":&q…

微信 IP白名单

买了周杰伦演唱会的门票才能去周杰伦演唱会听歌。在微信开发中获取access_token也是讲得同一个道理。我们首先需要设置微信的IP白名单。 点击查看即可配置。

教你设置eclipse自动生成的author等注释

每新建一个类上面都会有一行注释&#xff1a; /*** author 颠覆白的黑* version 创建时间&#xff1a;2018年3月26日 下午5:29:31* 类说明 */操作步骤和大家分享一下&#xff1a; window&#xff0d;>preference&#xff0d;>java&#xff0d;>code styple&#xff0…

前端学习(2546):debugger

执行进行数据代理 变量存储了一下 加入断点

暑期学习2

关于video视频插入 仍然是mime类型不支持&#xff0c;于是我将火狐换掉换成了chrome。 然后在运行的时候 第一点、视频文件无法找到&#xff1b;第二点、html5video.js无法找到 于是我先讲html5video.js删除重新去下载了个video文件复制进js包中 其实就只剩下视频文件无法找到这…

http 请求头 header Referer 含义和作用

Referer是header的一部分&#xff0c;当浏览器向web服务器发送请求的时候&#xff0c;一般会带上Referer&#xff0c;告诉服务器页面的请求地址&#xff0c;服务器就可以进行信息处理了。 HTTP Referer的一些实际用途&#xff1a; 1、防盗链。 我在www.google.com里有一个ww…

教你配置支付宝应用网关和授权回调地址

1.应用网关和授权回调地址是什么&#xff1f; a).应用网关是用于接收支付宝异步通知&#xff0c;例如口碑开店中&#xff0c;需要配置此网关来接收【开发者门店被动通知】。 注&#xff1a;这里的异步通知不是我们接口参数中的notify_url&#xff0c;是口碑开…

.NET MVC运行周期

1.路由比对 接到http请求&#xff0c;在UrlRoutingModule模块中处理与网址路由有关的运算。默认情况下如果该网址可以对应于网站跟目录下的实体文件&#xff0c;则不会交给MVC处理&#xff0c;直接交由IIS运行。可以通过在Application_start函数中设置RouteTable.Routes.RouteE…

工作90:富文本编辑器使用篇wangedit

WangEdit组件 <template lang"html"><div class"editor"><div ref"toolbar" class"toolbar"></div><div ref"editor" class"text"></div></div> </template>&l…

批处理的一些小技巧

批处理各符号的功能&#xff1a;1.echo有两个状态一个是on 一个是off默认的是on 它的功能是显示当前文件的路径&#xff0c;如果不写on 或者是off的时候&#xff0c;默认情况下 是打开的即显当前文件的路径&#xff0c;加上off后&#xff0c;所有路径都不显示&#xff0c;但是…

hapi 获取 请求地址 url

我是使用的hapi进行微信后台的开发&#xff0c;在进行签名时&#xff0c;需要获取浏览器发起请求的url地址(不包含#及其后面部分)。 代码如下&#xff1a; function (request, h) {const { headers } request;const url headers.referer; }

教你Word一键自动生成目录步骤

首先当我们需要生成一个目录的时候&#xff0c;一定要按照一定的格式来写Word文档&#xff0c;一定要有我这样或你自己的格式&#xff01;下面进行详解&#xff1a; 比如研究内容概述对应标题1的格式内容如下&#xff1a; 那么你左侧导航栏二在《课程标准》“数与代数”领域&am…

data:image data url 文件上传

一些场景&#xff0c;比如canvas获取的图片&#xff0c;或者微信开发sdk返回的图片格式是data:img格式的&#xff0c;我们需要上传到服务器上&#xff0c;那就需要进行转化。 1、将dataURL转成Blob // base64 转 blob dataURItoBlob(dataURI) {// convert base64/URLEncoded …

关于Loadrunner 错误解决

录制脚本时&#xff0c;总会出现一些莫名其妙的错误&#xff0c;下面总结了一些&#xff1a; 1、[MsgId: MESG-26388] 错误解决方法&#xff1a; Action.c(29): web_submit_form("UserLogin.action") highest severity level was "ERROR", 172503 body b…

[HNOI 2001]求正整数

Description 对于任意输入的正整数n&#xff0c;请编程求出具有n个不同因子的最小正整数m。例如&#xff1a;n4&#xff0c;则m6&#xff0c;因为6有4个不同整数因子1&#xff0c;2&#xff0c;3&#xff0c;6&#xff1b;而且是最小的有4个因子的整数。 Input n&#xff08;1≤…

APP支付报错ALI40247解决方案

APP支付交易参数验证不通过&#xff0c;请在SDK返回的result中查看具体的错误信息sub_code、sub_msg等&#xff08;如有返回&#xff09;&#xff0c;同时可在 公共返回码 列表中找到对应的解决方案。 参考检查方向&#xff1a; 1、检查APPID对应的支付宝账号是否有App支付接口…

微信 wx.chooseImage 上传图片 的思考

开发微信上传图片功能&#xff0c;我的想法是选择图片后&#xff0c;不调用wx.uploadImage上传到微信后台&#xff0c;而是自己组织一下&#xff0c;直接上传到阿里云OSS&#xff0c;因为看到了官方文档到说明localId可以作为img标签的src属性显示图片。 wx.chooseImage({coun…