正题

题目链接:http://www.joyoi.cn/problem/tyvj-1305


题目大意

求一段长度不超过m的最大子序和。


解题思路

用前缀和,我们可以枚举最右边的点,然后取左边合法范围内最小的前缀和,这个我们可以用单调队列进行优化。


code

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,x,sum[300001],head,tail,q[300001],ans;
int main()
{scanf("%d%d",&n,&m);head=1;tail=0;for (int i=1;i<=n;i++){while (head<=tail&&q[head]+m<i) head++;//维护合法区域scanf("%d",&x);sum[i]=sum[i-1]+x;ans=max(ans,sum[i]-sum[q[head]]);//取最大值while (head<=tail&&sum[q[tail]]>sum[i]) tail--;//维护单调性q[++tail]=i;//加入队列}printf("%d",ans);
}

tyvj/joyOI 1305-最大子序和【单调队列】相关推荐

  1. AcWing135.最大子序和(单调队列DP)

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

  2. AcWing 135. 最大子序和(单调队列优化 dp)

    思路 这题与普通的最大子段和不同,这题的最大子段和的长度不超过:m, 我们设 fif_ifi​ 表示 i 结尾的最大子段和,那么:fi=Max(sumi−sumj),(1<=i−j<=m) ...

  3. 【Tyvj - 1305】最大子序和(单调队列优化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 ...

  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. 135 最大子序和(单调队列优化)

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

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

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

  7. 135. 最大子序和【前缀和 单调队列】

    将其转化成前缀和数组,问题就转化成了,对于固定的右端点,找到前面一个窗口大小不大于m的最小的左端点. 就是单调队列 #include<bits/stdc++.h> using namesp ...

  8. 贪心1|455.分发饼干|376. 摆动序列|53. 最大子序和

    贪心1|455.分发饼干|376. 摆动序列|53. 最大子序和 一.455.分发饼干 题目连接:455. 分发饼干 - 力扣(LeetCode) 思路1:用贪心思想,将饼干数组和胃口数组先排序,然后 ...

  9. 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划

    文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...

最新文章

  1. 【Win32 API学习]打开可执行文件
  2. 【noqsl】beansdb的分布式实现~简单粗暴有效~
  3. ubuntu 中修改用户名后sudo无法解析主机
  4. python调用rust_转 从20秒到0.5秒:一个使用Rust语言来优化Python性能的案例
  5. php pclzip.lib.php,php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
  6. python读取字典数据_Python:读取列表[{}]中的字典数据
  7. 软件设计师中级 百度知道_设计师应该知道什么
  8. JavaOne演讲者选择了您不应该错过的10个会话
  9. android启动页面显示空白,android – 启动时的空白页面
  10. mysql log stats_MySQL慢查询之pt-query-digest分析慢查询日志
  11. 系统安装无法找寻硬盘!!!【全系列】
  12. Caffe傻瓜系列(5):Blob,Layer and Net以及对应配置文件的编写
  13. Linux下查看NVIDIA的GPU使用情况
  14. ajax 解析gzip,javascript – 如何让浏览器gunzip一个Ajax获取gziped文本文件?
  15. 18650锂电池保护板接线图_锂电池保护板的原理介绍保护板的构成和主要作用
  16. SBUS协议:SBUS解析与合成
  17. 锂离子电池性能测试软件,锂离子电池有什么性能测试设备?
  18. BeEF-XSS实验手记
  19. 使用cs与msf进行内网横向移动
  20. hbase和es在搜索场景的应用

热门文章

  1. 计算机专业专业课代号408,计算机专业考研你一定要知道的事情!
  2. 数据集转换_为什么LSTM看起来那么复杂,以及如何避免时序数据的处理差异和混乱...
  3. handler原子锁_Linux的原子操作与同步机制
  4. mysql 用户概念_传输概念 – db对象的用户/组/权限从mysql到postgresql
  5. 墨迹天气语音包_小米有品“智能AI翻译机”评测,还内置了语音助手,随身WiFi功能...
  6. PAT乙级——1001害死人不偿命的(3n+1)猜想(太简单)
  7. android交叉编译libxml2,Openwrt 交叉编译libxml2(示例代码)
  8. 蓝桥杯2015初赛-牌型种数-dfs
  9. Stack(栈 c++模版实现)
  10. hadoop hive集群_基于伪分布式Hadoop搭建Hive平台详细教程