单调队列复习。

投资 (invest)

给定一带符号整数数列,求长度为 \([s, e]\) 的子区间的和的最大值。(最大子段和)

降二维为一维,for循环枚举区间右端点。预处理前缀和,问题转化为找到最小的左端点。

使用单调队列维护查找范围内最小值。参看 单调队列总结

单调队列算法实现:

  1. 弹出单调队列左端的失效元素。
  2. 弹出单调队列右端的破坏单调性的元素。如在最小值单调队列中,剔除比 即将加入的元素 更大的元素,因为后者已对答案无未来贡献。(比前者先失效,未来不会是更小值。)
  3. 加入新元素。计算并统计当前单调队列维护的最优值。
int q[N], l, r;
int m=1; int main() {
n=read(), s=read(), e=read(); // s 区间最小长度, e 区间最大长度
for (int i=1; i<=n; i++)
a[i] += a[i-1] + read();
for (int i=s; i<=n; i++) {
while (l < r && i-q[l] > e)
l++;
while (l < r && a[i-s] < a[q[r-1]])
r--;
q[r++] = i-s;
m=max(m, a[i] - a[q[l]]);
}
write(m);
return 0;
}

28 August的更多相关文章

  1. Go 2 Draft Designs

    Go 2 Draft Designs 28 August 2018 Yesterday, at our annual Go contributor summit, attendees got a sn ...

  2. Virtual Reality In Action

    Virtual Reality In Action VR WebXR immersive 沉浸式 https://github.com/immersive-web/webxr https://imme ...

  3. 【线段树】Petrozavodsk Summer Training Camp 2016 Day 6: Warsaw U Contest, XVI Open Cup Onsite, Sunday, August 28, 2016 Problem H. Hay

    有一些草,一开始高度都是0,它们的生长速率不同. 给你一些单增的日期,在这些日期要将>b的草的部分都割掉,问你每次割掉的部分有多少. 将草的生长速率从大到小排序,这样每次割掉的是一个后缀,而且不 ...

  4. 【计算几何】【极角排序】【二分】Petrozavodsk Summer Training Camp 2016 Day 6: Warsaw U Contest, XVI Open Cup Onsite, Sunday, August 28, 2016 Problem J. Triangles

    平面上给你n(不超过2000)个点,问你能构成多少个面积在[A,B]之间的Rt三角形. 枚举每个点作为直角顶点,对其他点极角排序,同方向的按长度排序,然后依次枚举每个向量,与其对应的另一条直角边是单调 ...

  5. 【枚举】Petrozavodsk Summer Training Camp 2016 Day 6: Warsaw U Contest, XVI Open Cup Onsite, Sunday, August 28, 2016 Problem G. Equation

    f(n)定义为n的十进制表示下所有位的平方和. 问你方程K*f(n)=n在a<=n<=b中的解的个数. 发现f(n)最大不超过2000,可以直接枚举f(n),然后判断K*f(n)的位的平方 ...

  6. How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7

    How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7 The problem Google developers s ...

  7. HW4.28

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  8. [转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification

    http://people.mozilla.org/~jorendorff/es6-draft.html#sec-23.4 Draft Report Errors and Issues at: htt ...

  9. 28个你必须知道的HTML5的新特性,技巧以及技术

    崭新新的页面布局 传统的: HTML5: 1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<f ...

随机推荐

  1. 新手解惑:nginx&php-fpm&fastcgi 是什么关系

    首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者.   web server(比如说nginx)只是内容的分发者.比如,如果请求/index ...

  2. 应用安全 - 代码审计 - JavaScript

    JavaScript Prototype污染

  3. git --> 工作使用流程

    [git]------git开发过程中的使用流程------[WangQi]   001.创建仓库 002.新建项目 003.初始化仓库  这一步不需要做 git init : 文件夹中会多出一个隐藏 ...

  4. SpringBoot 使用Mybatis+MySql

    pom配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http: ...

  5. Mysql UPF 安装文档

    一.mysql UDF 简介: github地址: http://www.mysqludf.org/lib_mysqludf_preg 二.mysql UDF 下载地址: https://github ...

  6. Java中 Json的使用

    转自:http://huyan.couplecoders.tech/%E5%BC%80%E5%8F%91%E8%80%85%E6%89%8B%E5%86%8C/2018/11/02/Java%E4%B ...

  7. [Codeforces 1205B]Shortest Cycle(最小环)

    [Codeforces 1205B]Shortest Cycle(最小环) 题面 给出n个正整数\(a_i\),若\(a_i \& a_j \neq 0\),则连边\((i,j)\)(注意i- ...

  8. CentOS 5.5编译安装lnmp

    如果是安装Centos6.5记得Perl是必选的,否则无法安装VMWare Tools!!!!切记 如果出现make错误需要安装其他软件,装好后  make clean   make install ...

  9. 生产者消费者模型(JoinableQueue)

  10. javaScript 例子

    1.a标签调用js的几种方法 a href="javascript:void(0);" onclick="js_method()" a href="# ...