模板题

  1. #include <iostream>
  2. #include <cstring>
  3. #include <cstdio>
  4. using namespace std;
  5. int l1=1, r1, l2=1, r2, q1[1000005], q2[1000005], a[1000005], n, k;
  6. int ans1[1000005], ans2[1000005];
  7. void rn(int &x){
  8. char ch=getchar();
  9. int f=1;
  10. while(ch<'0' || ch>'9'){
  11. if(ch=='-') f = -1;
  12. ch = getchar();
  13. }
  14. while(ch>='0' && ch<='9'){
  15. x = x * 10 + ch - '0';
  16. ch = getchar();
  17. }
  18. x *= f;
  19. }
  20. int main(){
  21. rn(n);rn(k);
  22. for(int i=1; i<=n; i++){
  23. while(l1<=r1 && q1[l1]<=i-k) l1++;
  24. while(l2<=r2 && q2[l2]<=i-k) l2++;
  25. rn(a[i]);
  26. while(l1<=r1 && a[q1[r1]]>a[i]) r1--;
  27. q1[++r1] = i;
  28. while(l2<=r2 && a[q2[r2]]<a[i]) r2--;
  29. q2[++r2] = i;
  30. ans1[i] = a[q1[l1]];
  31. ans2[i] = a[q2[l2]];
  32. }
  33. for(int i=k; i<=n; i++) printf("%d ", ans1[i]);
  34. putchar('\n');
  35. for(int i=k; i<=n; i++) printf("%d ", ans2[i]);
  36. return 0;
  37. }

poj2823 Sliding Window luogu1886 滑动窗口 单调队列的更多相关文章

  1. [POJ2823]Sliding Window 滑动窗口(单调队列)

    题意 刚学单调队列的时候做过 现在重新做一次 一个很经典的题目 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗 ...

  2. Sliding Window(滑动窗口)

    Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 58002   Accepted: 16616 Case Time Limi ...

  3. POJ 2823 滑动窗口 单调队列模板

    我们从最简单的问题开始: 给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k. 要求: f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0 ...

  4. [LeetCode] Sliding Window Maximum 滑动窗口最大值

    Given an array nums, there is a sliding window of size k which is moving from the very left of the a ...

  5. POJ 2823 滑动窗口 单调队列

    https://vjudge.net/problem/POJ-2823 中文:https://loj.ac/problem/10175 题目 给一个长度为 $N$ 的数组,一个长为 $K$ 的滑动窗体 ...

  6. POJ - 2823 Sliding Window (滑动窗口入门)

    An array of size n ≤ 10 6 is given to you. There is a sliding window of size kwhich is moving from t ...

  7. [LeetCode] 239. Sliding Window Maximum 滑动窗口最大值

    Given an array nums, there is a sliding window of size k which is moving from the very left of the a ...

  8. cogs 495. 滑动窗口 单调队列

    495. 滑动窗口 ★★   输入文件:window.in   输出文件:window.out   简单对比时间限制:2 s   内存限制:256 MB [问题描述] 给你一个长度为N的数组,一个长为 ...

  9. luoguP1886 滑动窗口 [单调队列]

    题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The array i ...

随机推荐

  1. mongodb集合的增删

    1.创建集合 createCollection() 方法 MongoDB db.createCollection(name, options) 是用来创建集合. 语法: 基本的 createColle ...

  2. Mysql中WHERE IN,UNION 用法详解

    WHERE IN 用法 这里分两种情况来介绍 1.in 后面是记录集,如: select  *  from  table  where   uname  in(select  uname  from  ...

  3. POJ 1651 Multiplication Puzzle (区间DP,经典)

    题意: 给出一个序列,共n个正整数,要求将区间[2,n-1]全部删去,只剩下a[1]和a[n],也就是一共需要删除n-2个数字,但是每次只能删除一个数字,且会获得该数字与其旁边两个数字的积的分数,问最 ...

  4. vue-cli版本更新(2.9.1)问题记录-2

    今天想把做好的页面放在手机端浏览,发现新版的vue-cli无论在PC还是手机都只能用localhost访问(127.0.0.1除外).....(这样还怎么让我用手机吃鸡了!TT),于是我在网上查找了一 ...

  5. 爬虫2_python2

    # -*- coding: UTF-8 -*- # 正则表达式模块 import re # 获取路径模块 import urllib #时间模块 import time def getHtml(url ...

  6. javaweb基础(10)_HttpServletRequest原理介绍

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  7. 1_HDFS理论及安装部署

    一.hadoop简介 1.hadoop的初衷是为了解决Nutch的海量数据爬取和存储的需要,HDFS来源于google的GFS,MapReduce来源于Google的MapReduce,HBase来源 ...

  8. VS连接SQL Server 2008,并实现登录和注册功能

    --------------------- 作者:Cambridge 来源:CSDN 原文:https://blog.csdn.net/cambridgeacm/article/details/797 ...

  9. 深入理解 hashcode 和 hash 算法

    深入理解 hashcode 和 hash 算法 2017年12月30日 23:06:07 阅读数:5197 标签: hashhashmaphashcode二进制 更多 个人分类: jdk-源码  ht ...

  10. 阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问

    阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问