今天有点头痛就不写具体细节了,贴完走人

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<queue>
#define rep(i,j,k) for(register int i=j;i<=k;i++)
using namespace std;
const int maxn = 3e5+11;
typedef long long ll;
int a[maxn],n,m;
ll sum[maxn];
int main(){while(cin>>n>>m){rep(i,1,n) scanf("%d",&a[i]);rep(i,1,n) sum[i]=sum[i-1]+a[i];deque<ll> que;ll mx=0;rep(i,1,n){while(!que.empty()&&sum[que.front()]>sum[i]) que.pop_front();que.push_front(i);while(!que.empty()&&que.back()<i-m) que.pop_back();if(i==1) mx=max(mx,sum[1]);else mx=max(mx,sum[i]-sum[que.back()]);}cout<<mx<<endl;}return 0;
}

转载于:https://www.cnblogs.com/caturra/p/8696296.html

Tyvj - 1305 单调队列优化dp相关推荐

  1. 算法笔记--单调队列优化dp

    单调队列:队列中元素单调递增或递减,可以用双端队列实现(deque),队列的前面和后面都可以入队出队. 单调队列优化dp: 问题引入: dp[i] = min( a[j] ) ,i-m < j ...

  2. poj 2373(单调队列优化dp)

    在长为L(<=1000000)的草地(可看成线段)上装喷水头,喷射是以这个喷水头为中心,喷水头的喷洒半径是可调节的调节范围为[a,b].要求草地的每个点被且只被一个喷水头覆盖,并且有些连续区间必 ...

  3. poj 1821(单调队列优化dp)

    题意:有一道线性篱笆由N个连续的木板组成.有K个工人,你要叫他们给木板涂色.每个工人有3个参数:L 表示 这个工人可以涂的最大木板数目,S表示这个工人站在哪一块木板,P表示这个工人每涂一个木板可以得到 ...

  4. 洛谷P3195 [HNOI2008]玩具装箱TOY(单调队列优化DP)

    题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具, ...

  5. 【计蒜客 - 蓝桥训练】蒜厂年会(单调队列优化dp,循环数列的最大子段和)

    题干: 在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币.但是这个游戏比较坑,里面竟然有负数,表示你要支付多少蒜币.因为这些数字都是可见的,所 ...

  6. 单调队列以及单调队列优化DP

    单调队列定义: 其实单调队列就是一种队列内的元素有单调性的队列,因为其单调性所以经常会被用来维护区间最值或者降低DP的维数已达到降维来减少空间及时间的目的. 单调队列的一般应用: 1.维护区间最值 2 ...

  7. POJ 1821 Fence(单调队列优化DP)

    题解 以前做过很多单调队列优化DP的题. 这个题有一点不同是对于有的状态可以转移,有的状态不能转移. 然后一堆边界和注意点.导致写起来就很难受. 然后状态也比较难定义. dp[i][j]代表前i个人涂 ...

  8. 【单调队列优化DP】烽火传递 LibreOJ - 10180

    题目来源 点我进入提交题目 反思 因为目前在学习单调队列优化DP,所以会往单调队列上面想.然后犯了一个错误就是,认为这个题目只要用单调队列就可以完成,单调队列只是用来减少时间复杂度的,遇到了求最优解的 ...

  9. AcWing 1089 烽火传递 题解(动态规划—DP—单调队列优化DP)

    AcWing 1089 烽火传递 单调队列优化DP,思路比较简单,维护一个保持元素单调递增的单调队列,队首就是第i座烽火台能接收到的,代价最小的方案,加上第i座烽火台的代价就是这座烽火台的最小值 #i ...

  10. 【单调队列优化dp】jzoj4883灵知的太阳信仰 纪中集训提高B组

    [NOIP2016提高A组集训第12场11.10]灵知的太阳信仰 (File IO): input:array.in output:array.out Time Limits: 1000 ms Mem ...

最新文章

  1. android 控件id为0,Android Studio错误:(3,0)未找到ID为“com.android.application”的插件...
  2. python 大数据学习 遇到的问题,及解决方法。
  3. curl代理ippost php_php使用curl通过代理获取数据的实现方法
  4. java获取系统运行日志文件_java – 如何获取特定的日志文件并在jenkins控制台输出中显示其内容...
  5. delphi中exit,abort,break,continue,halt,runerro 的区别
  6. 五十四、Java日期Date,LocalDate类以及格式化输出
  7. 桌面虚拟化之运维支持
  8. 区域数据导入功能(OCUpload插件使用)
  9. WinSock2编程之打造完整的SOCKET池
  10. 甲骨文发布Java 8
  11. 安卓下载功能中的广播接收器
  12. python中文显示不出来_Python查询数据库,中文的结果显示不出来
  13. (转)黑石帝国崛起的30年
  14. 14款国内外主流三维GIS软件
  15. WordpressCMS主题开发04-如何在首页调用各个分类下的文章以及图片栏目
  16. 多个订单待付款半小时倒计时功能
  17. NC57中间表数据源的设置流程
  18. 智能优化算法(源码)-食肉植物算法(Carnivorous Plant Algorithm ,CPA)
  19. 贪心算法训练(七)——加工生产调度(流水作业调度问题)
  20. java 控制台 全屏_Java全屏模式与退出全屏:

热门文章

  1. 计算机应用基础课程基本要求,《计算机应用基础》课程建设规范
  2. 华为harmonyos官方微博账号,华为 EMUI 官方微信和微博更名为 HarmonyOS
  3. 精英主板bios_各品牌主板和品牌电脑启动项与bios启动键大全!!值得收藏
  4. 【linux程序设计】使用POSIX API的文件I/O操作方法仿写cp命令
  5. arduino nano引脚_使用直流电机和RF模块nRF24L01制作Arduino遥控小车
  6. 翻译: Octave 入门教程
  7. 算法:二叉树从树叶到根部每层构成的数组队列107. Binary Tree Level Order Traversal II
  8. AWS亚马逊ssh登录失败 Permissions 0644 for .pem are too open
  9. C++ OS 网络 数据库 (面试)
  10. 父类构造函数与子类构造函数的关系