首页 > 其他分享 >洛谷题单指南-常见优化技巧-P2032 扫描

洛谷题单指南-常见优化技巧-P2032 扫描

时间:2024-09-03 09:50:10浏览次数:11  
标签:P2032 int 洛谷题 元素 扫描 队列 入队 单调

原题链接:https://www.luogu.com.cn/problem/P2032

题意解读:求滑动窗口内的最大值,典型的单调队列应用。

解题思路:

单调队列的三部曲:

1、去头。已存入的元素个数超过k,则去头。注意队列里存的是元素下标,只需要用当前下标减去队头元素来判断即可。

2、去尾。根据单调队列的单调性,如果求最大值则递减,如果求最小值则递增,判断要入队的元素和队尾元素的关系,破坏单调性的队尾元素出队,保持单调性。

3、入队。

100分代码:

#include <bits/stdc++.h>
using namespace std;

const int N = 2000005;

int n, k;
int a[N];
int q[N], l = 0, r = -1; //手写双端队列

int main()
{
    cin >> n >> k;
    for(int i = 1; i <= n; i++) cin >> a[i];

    for(int i = 1; i <= n; i++)
    {
        while(l <= r && i - q[l] + 1 > k) l++; //去头
        while(l <= r && a[i] > a[q[r]]) r--; //去尾
        q[++r] = i; //入队

        if(i >= k) cout << a[q[l]] << "\n";
    }
    return 0;
}

 

标签:P2032,int,洛谷题,元素,扫描,队列,入队,单调
From: https://www.cnblogs.com/jcwy/p/18393956

相关文章

  • 信息打点-CDN绕过篇&漏洞回链接口探针&全网扫描&反向邮件
    知识点:0、CDN知识-工作原理及阻碍1、CDN配置-域名&区域&类型2、CDN绕过-靠谱十余种技战法3、CDN绑定-HOSTS绑定指向访问CDN的全称是ContentDeliveryNetwork,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更......
  • 洛谷题单指南-常见优化技巧-P1950 长方形
    原题链接:https://www.luogu.com.cn/problem/P1950题意解读:在一张n*m个格子的纸上,从没有画过的格子中剪出长方形的方案数。解题思路:1、暴力做法枚举所有的子矩阵O(n^4),然后用二维前缀和计算子矩阵的和,通过和来判断子矩阵是否全部是'.'。2、优化做法针对每一行进行处理,计算包......
  • 激光扫描测量系统
        激光扫描测量系统是一种利用激光技术实现高精度测量的系统,广泛应用于三维建模、遥感测量、工业自动化、建筑监测等多个领域。以下是对激光扫描测量系统的详细解析:一、系统组成激光扫描测量系统通常由硬件和软件两部分组成:硬件部分:主要包括激光器、扫描镜(或旋转......
  • 【待做】【网络协议系列+DNS安全】利用DNS隧道进行追踪和扫描
    一、什么是DNS隧道二、DNS隧道攻击典型步骤三、攻击者如何利用DNS隧道四、用于追踪的DNS隧道案例五、缓解措施原创二进制空间安全一、什么是DNS隧道DNS隧道是一种利用DNS协议进行数据传输的技术。在网络中,DNS通常用于将域名解析为对应的IP地址,但是它也可以被......
  • 扫描线总结
    引入面积并(周长并)如下图给你一堆矩形求它的面积并或周长并。显然直接做,就是考虑容斥,但明显不好做。那就思考如何切割或补,显然补完要减的图形也不规整,只能考虑割。如何将其割成规整的图形,明显矩形最容易计算和割。把它割成矩形后发现,每次遇到某个矩形的边就会变,所以考虑一条......
  • 扫描线
    引入扫描线一般运用在图形上面,它和它的字面意思十分相似,就是一条线在整个图上扫来扫去,它一般被用来解决图形面积,周长,以及二维数点等问题。Atlantis问题题意在二维坐标系上,给出多个矩形的左下以及右上坐标,求出所有矩形构成的图形的面积。解法根据图片可知总面积可以直接暴力......
  • Nuclei:开源漏洞扫描器
    Nuclei拥有灵活的模板系统,可以适应各种安全检查。它可以使用可自定义的模板向多个目标发送请求,确保零误报并实现跨多台主机的快速扫描。它支持多种协议,包括TCP、DNS、HTTP、SSL、文件、Whois、Websocket等。特征模板库:社区支持的模板集合,用于针对性地扫描各种漏洞和攻......
  • ReconSage一个快速的在线子域名扫描工具
    ReconSage一个快速的在线子域名扫描工具https://www.reconsage.com/tools/scan-subdomain如下示例:子域名扫描工具的主要作用是帮助用户发现和枚举目标域名下的所有子域名。这些工具通过不同的技术手段,如字典枚举、API调用、搜索引擎查询等,来识别和展示目标域名的子域名信息,包括子......
  • 扫描线
    扫描线经典问题之求矩形面积并,可以使用线段树和扫描线。比方说我们要对这俩东西求面积并,我们简单分割一下。然后扫描线就是,从最下面一条绿线向上扫过去,遇到下底边则加上这个矩形,遇到上底边则减去这个矩形。回到这道题,发现给了我们矩形的两个角,那么上底边和下底边是好求的。......
  • C# 扫描并读取图片中的文字(.NET Core)
    本文介绍如何通过C#程序来扫描并读取图片中的文字,这里以创建一个.NetCore程序为例。下面是具体步骤,供参考。程序测试环境:VisualStudio版本要求不低于2017图片扫描工具:Spire.OCRfor.NET图片格式:png(这里的图片格式支持JPG、PNG、GIF、BMP、TIFF等格式)扫描的图片文字:中文(......