135. 最大子序和【前缀和 单调队列】
将其转化成前缀和数组,问题就转化成了,对于固定的右端点,找到前面一个窗口大小不大于m的最小的左端点。
就是单调队列
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int N=1e5*5+10;
LL a[N],s[N],n,m;
int main(void)
{cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];deque<int>q;LL ans=-1e18;for(int i=0;i<=n;i++){if(q.size()&&i-q.front()+1>m) q.pop_front();while(q.size()&&s[q.back()]>=s[i]) q.pop_back();q.push_back(i);if(i+1<=n) ans=max(ans,s[i+1]-s[q.front()]);}cout<<ans;return 0;
}
135. 最大子序和【前缀和 单调队列】相关推荐
- Acwing 135 最大子序和
Acwing 135 最大子序和 题目: 输入一个长度为 n 的整数序列,从中找出一段长度不超过 m 的连续子序列,使得子序列中所有数的和最大. 题解: 我们把这个问题的集合分成n份,第k份表示以A[ ...
- 135 最大子序和(单调队列优化)
1. 问题描述: 输入一个长度为 n 的整数序列,从中找出一段长度不超过 m 的连续子序列,使得子序列中所有数的和最大.注意: 子序列的长度至少是 1. 输入格式 第一行输入两个整数 n,m.第二行输 ...
- AcWing 135. 最大子序和(单调队列优化 dp)
思路 这题与普通的最大子段和不同,这题的最大子段和的长度不超过:m, 我们设 fif_ifi 表示 i 结尾的最大子段和,那么:fi=Max(sumi−sumj),(1<=i−j<=m) ...
- 数据结构总结1(火车进栈/兔子与兔子/括号画家/Editor/邻值查找/最大子序和/前缀统计/Phone List/The XOR Largest Pair)
问题 A: 火车进栈 题目描述 这里有n列火车将要进站再出站-- 但是,每列火车只有1节-那就是车头-- 描述 有n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个 ...
- LeetCode 918. 环形子数组的最大和(前缀和+单调队列)
文章目录 1. 题目 2. 解题 1. 题目 给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和. 在此处,环形数组意味着数组的末端将会与开头相连呈环状. (形式上,当0 & ...
- 【P2629】好消息,坏消息(前缀和+单调队列优化DP)
一激动一颓就会忘了总结... 前面的大黄题就不总结了. 这个题我只想说一声艹,一开始的思路就是正确的,然后计算的时候有了一个瑕疵,不过很快也就改过来了.然后却一直连样例都过不了.仔仔细细看了老半天,经 ...
- 0x12.基本数据结构 — 队列与单调队列
目录 一.队列 0.UVA540 团体队列 Team Queue 1.AcWing 133. 蚯蚓(模拟优先队列) 二 .单调队列 0.AcWing 135. 最大子序和(单调队列) 1.luogu ...
- Acwing -- 单调队列优化的DP问题
文章目录 引入 acwing154 滑动窗口 应用 135 最大子序和 1088.旅行问题 AcWing 1087. 修剪草坪28 AcWing 1089. 烽火传递 AcWing 1090. 绿色通 ...
- 单调队列优化的DP问题
概述 单调队列就是通过排除求最值时候的冗余,从而是队列具有性质,可以方便求解问题. DP的两个阶段: 朴素DP的基本原理--闫氏DP分析法 对朴素DP进行优化 闫氏DP分析法的拓展 :在一个有限的集合 ...
最新文章
- linux挂载home分区,Linux(CentOS6) 调整 /home 挂载 分区大小
- c#中string字符串转为json与json转对象
- 前后端交互概述与URL地址格式
- 计算机网络路由选择协议,IP路由选择协议原理和作用
- 58 - 算法 -分治问题 - 循环 二分查找 OpenJudge 百练 4143和为给定数
- java和php区别吗_请说说Java和PHP的区别
- android报错:org.ksoap2.SoapFault cannot be cast to org.ksoap2.serialization.SoapObject
- python矩形法求定积分_c程序用矩形法编一个通用函数求定积分0到1区间sinx,cosx,e的x次方,1+x,2x+3,(x*x)+1,e的x次方+1,(1+X)*(1+X),x*x*x...
- 后台登录管理员数据表创建
- 2007.5 同航驾驶培训公司网站
- 计算机系大一开学需要带什么,大一新生上学要不要带电脑?辅导员给出建议,家长可以参考...
- Drools记录之DRL规则语言
- cam、ts、tc、scr等电影版本标识的解析及区别(中英文对照版)
- 阿桑奇,真正的网络英雄!
- oracle 查询上一月,Oracle数据库查询上一小时、上一天、上一个月、上一年
- OSChina 周六乱弹 ——泡在油冷主机的深海少女
- 《Activiti/Flowable 深入BPM工作流》-流程定义怎么进行删除?
- 云南农业职业技术学院 / 互联网技术学院官网 HTML5+CSS3
- Mixly08:按钮模拟开关
- “智启桌面云,慧达全场景”——锐捷网络云桌面产品全面升级