news 2026/5/23 6:21:14

洛谷 P1886 【模板】单调队列 / 滑动窗口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷 P1886 【模板】单调队列 / 滑动窗口

题目描述

有一个长为 n 的序列 a,以及一个大小为 k 的窗口。现在这个窗口从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最小值和最大值。

例如,对于序列 [1,3,−1,−3,5,3,6,7] 以及 k=3,有如下过程:

窗口位置[1 3 -1] -3 5 3 6 7 1 [3 -1 -3] 5 3 6 7 1 3 [-1 -3 5] 3 6 7 1 3 -1 [-3 5 3] 6 7 1 3 -1 -3 [5 3 6] 7 1 3 -1 -3 5 [3 6 7]​最小值−1−3−3−333​最大值335567​​

输入格式

输入一共有两行,第一行有两个正整数 n,k;
第二行有 n 个整数,表示序列 a。

输出格式

输出共两行,第一行为每次窗口滑动的最小值;
第二行为每次窗口滑动的最大值。

输入输出样例

输入 #1复制

8 3 1 3 -1 -3 5 3 6 7

输出 #1复制

-1 -3 -3 -3 3 3 3 3 5 5 6 7

说明/提示

【数据范围】
对于 50% 的数据,1≤n≤105;
对于 100% 的数据,1≤k≤n≤106,ai​∈[−231,231)。

#include<bits/stdc++.h> using namespace std; const int N=1e6+10; int a[N],q[N]; int a1,k; int main() { scanf("%d%d",&a1,&k); for(int i=0;i<a1;i++) scanf("%d",&a[i]); int hh=0,tt=-1; for(int i=0;i<a1;i++) { if(hh<=tt&&i-k+1>q[hh]) hh++; while(hh<=tt&&a[q[tt]]>=a[i]) { tt--; } q[++tt]=i; if(i>=k-1) printf("%d ",a[q[hh]]); } puts(""); hh=0,tt=-1; for(int i=0;i<a1;i++) { if(hh<=tt&&i-k+1>q[hh]) hh++; while(hh<=tt&&a[q[tt]]<=a[i]) { tt--; } q[++tt]=i; if(i>=k-1) printf("%d ",a[q[hh]]); } puts(""); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 15:48:52

Qwen3-14B vs 其他14B模型:性能与资源消耗全面对比

Qwen3-14B 与其他14B模型&#xff1a;性能与资源消耗的深度对比 在当前企业加速拥抱AI的大背景下&#xff0c;如何选择一款既能胜任复杂任务、又不会压垮基础设施的语言模型&#xff0c;成了技术决策者面临的核心难题。参数量并非唯一指标——真正关键的是在真实场景中能否以合…

作者头像 李华
网站建设 2026/5/22 7:28:44

虚拟显示器创建终极指南:3步轻松扩展你的数字工作空间

虚拟显示器创建终极指南&#xff1a;3步轻松扩展你的数字工作空间 【免费下载链接】virtual-display-rs A Windows virtual display driver to add multiple virtual monitors to your PC! For Win10. Works with VR, obs, streaming software, etc 项目地址: https://gitcod…

作者头像 李华
网站建设 2026/5/23 1:44:32

GitHub Wiki文档编写建议:为Qwen3-VL-8B项目建立知识库

GitHub Wiki文档编写建议&#xff1a;为Qwen3-VL-8B项目建立知识库 在多模态AI迅速渗透各行各业的今天&#xff0c;如何让一个强大的视觉语言模型真正“落地”&#xff0c;而不只是停留在论文或Demo中&#xff1f;答案往往不在于模型本身有多先进&#xff0c;而在于背后的工程化…

作者头像 李华
网站建设 2026/5/22 12:57:49

3步搞定百度网盘秒传:新手零基础上手教程

3步搞定百度网盘秒传&#xff1a;新手零基础上手教程 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 百度网盘秒传脚本是一款革命性的文件管理工具&#xf…

作者头像 李华
网站建设 2026/5/20 21:02:42

告别圣遗物管理噩梦:3分钟学会椰羊工具箱的智能玩法

告别圣遗物管理噩梦&#xff1a;3分钟学会椰羊工具箱的智能玩法 【免费下载链接】cocogoat-client A toolbox for Genshin Impact to export artifacts automatically. 支持圣遗物全自动导出的原神工具箱&#xff0c;保证每一行代码都是熬夜加班打造。 项目地址: https://git…

作者头像 李华
网站建设 2026/5/22 7:47:03

38、调试与性能分析全攻略

调试与性能分析全攻略 GDB 常用命令 在调试二进制文件时,GDB 提供了一系列实用的命令,以下是一些常用命令及其功能: | 命令 | 功能 | | — | — | | file | 设置正在调试的二进制文件的文件名,调试符号会从该文件加载。 | | dir | 向应用程序源代码文件的搜索路径中添…

作者头像 李华