51nod 1049 最大子段和
题目:
N个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。
例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。
Input
第1行:整数序列的长度N(2 <= N <= 50000)
第2 - N + 1行:N个整数(-10^9 <= A[i] <= 10^9)
Output
输出最大子段和。
看好多大佬都没有考虑全为负数的情况,但也AC了,全为负数时应该输出0呀
代码实现:
#include <iostream>
using namespace std;
typedef long long ll;
ll a[50010];
int main()
{ll n,i;cin>>n;for(i=0;i<n;i++){cin>>a[i];}ll sum=a[0],m=a[0];int t=0; if(a[0]>0) t=1;for(i=1;i<n;i++)//子段开头和最后一定是正整数 {if(a[i]>0) t=1;if(m>0) m+=a[i];else m=a[i];//当m不再增大时,开始新的子段 if(sum<m) sum=m; //更新最大值 }if(t==0) cout<<"0"<<endl;//全为负数,则和为0 else cout<<sum<<endl;return 0;
}
51nod 1049 最大子段和相关推荐
- 51 nod 1049 最大子段和 (简单dp)
1049 最大子段和 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 N个整数组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+- ...
- 51nod 最大M子段和系列
1052 最大M子段和 N个整数组成的序列a[1],a[2],a[3],-,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的.如果M >= N个数中正数的个数,那么输出所 ...
- 51 NOD 1049 最大子段和 动态规划 模板 板子 DP
N个整数组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的连续子段和的最大值.当所给的整数均为负数时和为0. 例如:-2,11,-4,13,-5,- ...
- 【51nod】最大子段和
题面 以一个长为n的数列,求连续子段的最大值. 思路1 直接枚举O(n^3)TLE稳稳的 #include<iostream> using namespace std; int n, a[ ...
- 51nod 1275 连续子段的差异
分析: 1.首先是尺取,尺取到每一个区间,区间满足这个条件,最大-最小<=k; 2.对于一个动态区间,怎么维护他的最大值,最小值(的下标):--单调队列: 什么时候删掉头结点呢? 当我找到了当前 ...
- 51nod 1275 连续子段的差异(twopointer+单调队列)
对于每一个i找到最近的j满足最大值-最小值>K,对答案的贡献为j-i,用单调队列维护最值即可 #include<iostream> #include<cstdlib> # ...
- 【单调队列】51nod 1275 连续子段的差异
题面在这里 单调队列的经典题-- 发现一个合法的区间的所有子区间都是合法的 那么枚举右端点,维护最小的左端点 相当于每次加入一个值,然后右移左端点,使得区间内的差值≤k\le k 如何快速获取最大/最 ...
- 51Nod-1049 最大子段和【DP】
1049 最大子段和 基准时间限制:1秒 空间限制:131072KB 分值:0难度:基础题 N个整数组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j] ...
- 51nod 1115 最大M子段和 V3
环形最大M子段和,N个整数组成的序列排成一个环,a[1],a[2],a[3],-,a[n](a[n-1], a[n], a[1]也可以算作1段),将这N个数划分为互不相交的M个子段,并且这M个子段的和 ...
最新文章
- 帅气逼人的Redis可视化工具
- 数字证书应用综合揭秘(包括证书生成、加密、解密、签名、验签)
- 参加金蝶OperaMasks-WebFramework成都推广活动后的感想
- 硅谷程序员佛系养生法:我不修bug, 谁修bug
- 数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀
- python 的内存回收,及深浅Copy详解
- arm linux sms,基于arm处理器的手机短消息加密系统 encryption system for sms based on arm.pdf...
- 【ES】学习5-全文搜索
- mysql的find in set_mysql中find_in_set()函数的使用及in()用法详解
- [译]C#7 Pattern Matching
- ffmpeg的安装和使用教程
- 是时候觉悟了!一篇文章让你明白数据结构与算法分析有多重要
- 【博客目录】成为一个优秀的数据工程师
- Dubbo笔记 ㉗ : 服务自省-提供者
- Latex公式编辑(子公式)
- android商城demo,3 分钟快速 Demo(Android)
- 钱多多软件制作第五天
- 英勇行动海豹突击队 感
- OSChina 周三乱弹 —— 我胖我吃你家饭了吗
- 2020最流行的React组件库推荐
热门文章
- DL框架:主流深度学习框架(TensorFlow/Pytorch/Caffe/Keras/CNTK/MXNet/Theano/PaddlePaddle)简介、多个方向比较、案例应用之详细攻略
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Menu/Menu的Command)
- 《疯狂Java讲义》5
- Android IllegalStateException: The specified child already has a parent问题解决办法
- linux下kodi没有声音的解决
- ASP.NET缓存之 没有为 SQL 缓存通知启用数据库“ReplaceShop”。
- stm32 USART_IT_IDLE中断 一帧数据
- 事件控制寄存器(AFIO_EVCR) (2011-09-09 13:51:58)
- ST17H26之125KHz产生
- AB1601移植二维码编码库注意事项