Luogu

单调队列板子题。

很明显\[Ans=\max_{1≤i≤n} \{\sum_{j=1}^i P_i-\min_{i-m≤k<i} \{\sum_{j=1}^k P_j\} \}\]

单调队列维护即可。

#include <iostream>
#include <cstdio>
#include <queue> const int max_n = 500000 + 5;
const int inf = 0x7f7f7f7f;int N, M, Ans = -inf;
int sum[max_n];std::deque <int> q;inline int read()
{register int x = 0, v = 1;register char ch = getchar();while(!isdigit(ch)) {if(ch == '-') v = -1;ch = getchar();}while(isdigit(ch)){x = (x << 1) + (x << 3) + ch - '0';ch = getchar();}return x * v;
} int main()
{N = read();M = read();for(int i = 1; i <= N; ++i) sum[i] = sum[i - 1] + read();for(int i = 1; i <= N; ++i){while(!q.empty() && sum[q.back()] > sum[i]) q.pop_back();q.push_back(i);while(!q.empty() && i - q.front() > M) q.pop_front();Ans = std::max(Ans, sum[i] - sum[q.front()]); }printf("%d\n", Ans);return 0;
}

转载于:https://www.cnblogs.com/zcdhj/p/8457905.html

Luogu1714 切蛋糕相关推荐

  1. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——A题 切蛋糕

    题目描述 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2的蛋糕 ...

  2. 漫画:有趣的 “切蛋糕“ 问题

    -----  第二天  ----- 举个例子: 我们有5块蛋糕, 蛋糕的大小分别是 5,17,25,3,15 我们有7位顾客, 他们的饭量分别是 2,5,7,9,12,14,20 (每个蛋糕大小和顾客 ...

  3. AI在中国,还没到抢切蛋糕的时候

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 他们中的不少名字,之前并不广为人知. 刘全全.王宇杰.王昌宝.帅靖文.张顺丰.蒋尚达.余革年.闵可锐.宋洪伟.李晓普.张晓伟.王峰.董倩倩 ...

  4. P1714 切蛋糕(线段树+前缀和)

    P1714 切蛋糕 解题思路:求连续区间不超过k的最大值.先求出前缀和,线段树维护前缀和,在一个长度为k的区间,找到前缀和最小的,用最后的值减去这个值,得到的就是在这个区间里的最大值.如果长度不能到达 ...

  5. 切蛋糕(洛谷P1714)

    切蛋糕 题目描述 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值. 小Z作为寿星,自然希望吃到的第一块蛋糕的幸运值总和最大, ...

  6. c语言切蛋糕问题算法,从“切蛋糕问题”谈到欧拉#

    从"切蛋糕问题"谈到欧拉在图论上的贡献 这个作者敬业,不得不发... 从圣诞节到新年之间,我们有几天假期.我们几个老朋友就选择一个晚上,各自准备点吃的东西欢聚在一起.吃吃喝喝完后, ...

  7. 【Leetcode单调队列】- 洛谷P1714切蛋糕

    单调队列 解决该类问题的重点维护一个队列,从队首到队尾是递减的,队首是最大的.队尾是最小的. 队尾接受值,队首排出值. Java实现用双端队列,前面接收值,后面排出来值. 这类题目往往是跟滑动窗口一起 ...

  8. 切蛋糕 爱丽丝梦游仙境,来到了疯帽子的茶会。茶会上有n只兔子,疯帽子作为绅士,今天专门为爱丽丝和兔子们准备了一个圆形的慕斯蛋糕,疯帽子要把这块蛋糕平均分给爱丽丝和兔子们(疯帽子自己不吃蛋糕)

    Description 爱丽丝梦游仙境,来到了疯帽子的茶会.茶会上有n只兔子,疯帽子作为绅士,今天专门为爱丽丝和兔子们准备了一个圆形的慕斯蛋糕,疯帽子要把这块蛋糕平均分给爱丽丝和兔子们(疯帽子自己不吃 ...

  9. 【寒假每日一题】洛谷 P7471 [NOI Online 2021 入门组] 切蛋糕

    题目链接:P7471 [NOI Online 2021 入门组] 切蛋糕 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 Alice.Bob 和 Cindy 三个好朋友得到 ...

最新文章

  1. html6个圆圈放一排,html中两个选择框如何并排放置(一)
  2. Mac--常用安装命令以及问题解决(面向自己查看)
  3. 报错:ModuleNotFoundError: No module named ‘cv_bridge‘,以及在ROS是如何安装cv_bridge库包
  4. 百练OJ:4148:生理周期
  5. iOSTableview 禁止下拉,允许上拉
  6. 浅谈街霸的帧数据 (一):frame data
  7. python装饰器setter实现原理_python装饰器、描述符模拟源码实现
  8. python内置作用域_python中的作用域
  9. linux xargs命令,xargs 命令教程
  10. 光伏巨头“脱轨” 英利确认债务重组
  11. android对象引用释放,Android程序的内存泄漏与规避方法
  12. python源码解读_Python源码剖析[16] —— Pyc文件解析
  13. 关于人性论视角下网络虚拟社会的伦理思考
  14. 查询-SPJ练习2参考答案
  15. 漫步者蓝牙耳机连接常见问题
  16. 【Pytorch】model.train() 和 model.eval() 原理与用法
  17. 28岁程序员:我要转行能行么?网友:除了写代码你还能干啥?
  18. 用python实现识别框选图片字体部分,并分割成单独图片
  19. Microsoft Virtual WiFi Miniport Adapter 使用方法
  20. 值得收藏的22个搜索下载免费PDF电子书的网站

热门文章

  1. unity3d鼠标拖拽模型,旋转模型
  2. JQuery中对option的添加、删除、取值
  3. RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)
  4. tab与list配合使用
  5. 【LDA学习系列】Beta分布Python代码
  6. 模拟浏览器自动化测试工具Selenium之三页面窗口切换开发篇
  7. Leetcode 107. 二叉树的层次遍历 II 解题思路及C++实现
  8. 蛋疼的配置go opengl的记录 running gcc failed: exit status 1 in golang in windows
  9. 【mybatis】IF判断的坑 (实现if test= status == 'zhangsan')
  10. Python 小把戏之下载小说