题意:一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大。

可以用单调队列来解决这道题,我们把寻找字段和转化为前缀和之差,然后固定右端点,不断枚举左端点,使其区间内元素个数不超过m个

如果k<j且Sk>=Sj,那么k这个元素是一定不如j的

#include<bits/stdc++.h>
using namespace std;
const int maxx = 300010;
int sum[maxx],q[maxx];//q记录下标
int main()
{int n,m;while(~scanf("%d%d",&n,&m)){int t;for(int i=1;i<=n;i++){scanf("%d",&t);sum[i]=sum[i-1]+t;}int l=1,r=1,ans=sum[1];for(int i=1;i<=n;i++){while(l<=r&&q[l]<i-m)l++;ans=max(sum[i]-sum[q[l]],ans);while(l<=r&&sum[q[r]]>=sum[i])r--;q[++r]=i;}printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/HooYing/p/10948901.html

oj 26319 最大子序和相关推荐

  1. C++解OJ题--最大子数组和(第一次尝试动态规划,很烧脑)

      虽然这道题标注的是简单,但是对于我一个新手来说还真的挺烧脑的. 我想说:   对于动态规划的知识,我可谓花了大功夫.各种看视频看博客折腾了一整天,不夸张真的是一整天.你以为我懂了,不,这种东西我看 ...

  2. 伍六七带你学算法 入门篇 ——最大子序和

    力扣 53. 最大子序和 难度简单 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4 ...

  3. python【力扣LeetCode算法题库】53- 最大子序和

    最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: ...

  4. tyvj1305 最大子序和 【单调队列优化dp】

    描述 输入一个长度为n的整数序列,从中找出一段不超过M的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7 当m=2或m=3时,S=5+1=6 输 ...

  5. LeetCode-53. 最大子序和-最简单的动态规划(Python3)

    题目链接: 53.最大子序和 题目描述: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,- ...

  6. LeetCode最大子序和 (动态规划)python

    描述 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和. 子数组最少包含一个数 您在真实的面试中是否遇到过这个题? 样例 样例1: 输入:[−2,2,−3,4,−1,2,1,−5,3] 输出 ...

  7. leetcode-最大子序和(动态规划讲解)

    最大子序和(动态规划讲解) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输 ...

  8. Leetcode-53:最大子序和

    题目链接 法一:枚举 双重for循环暴力枚举 时间复杂度:O(n^2) 法二:动态规划 时间复杂度:O(n) 1.构建状态转移方程 假设以nums数组中第i个位置结尾的最大子序和为P(i) 那么以i+ ...

  9. LeetCode53:最大子序和(分治思想,Python3实现)

    最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: ...

  10. 最大子序和:单调队列维护一个上升序列

    最大子序和 输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大. 注意: 子序列的长度至少是1. 输入格式 第一行输入两个整数n,m. 第二行输入n个数,代表 ...

最新文章

  1. NetDevOps — NAPALM
  2. 设计模式六:适配器模式
  3. hadoop的HDFS-----防火墙导致9870端口无法访问
  4. ui5 resource file 404 error
  5. UNIX网络编程笔记(3):简单的并发服务器
  6. Python编程常见错误表现形式与原因分析
  7. 14英寸电脑长宽多少_华为MateBook 14 2020款 14英寸轻薄笔记本王者升级
  8. 安装新版Magisk卡在启动页面等问题以及解决办法
  9. oracle设置缓冲区大小设置,描述Oracle优化库高速缓冲区
  10. 信息学最全知识点清单
  11. 最小二乘(OLS)回归法及其在R中的…
  12. 给你一台大疆无人机,你能用来做点啥?(二)-----——倾斜摄影建模
  13. 交换机短路_交换机环路发现及处理
  14. 什么是数字孪生专用引擎技术
  15. python中函数的学习
  16. win10输入法不显示图标并且只有英文的有效解决方法
  17. 关于ERP系统,你可能不知道的10件事
  18. 离线安装ruby、rubygems
  19. exercise code 8
  20. 拼多多新手商家怎么定价?

热门文章

  1. DDraw笔记-创建表面
  2. 时间序列分析工具箱——tibbletime
  3. 送你一份价值5800元的技术干货PPT | 技术管理者工作坊强势来袭!
  4. android - Unable to add window -- token null is not for an application的解决方案
  5. Interval GCD
  6. 数据库表里面加表中的数据
  7. python random 之基础点名器
  8. windows server 2003 远程桌面最大连接数调整与windows 2008远程桌面后,本地帐号自动锁定...
  9. 简单算术表达式计算器
  10. 有趣的视频 国外计算机课程