单调队列滑动窗口

发布时间:2026/9/13 3:37:47

单调队列滑动窗口 与普通队列不同单调队列:队尾进队和出队 队头进队维护子序列的单调性特点1.队尾出队的条件:队列不是空的 且新元素更优 队中旧元素队尾出队2.每个元素必然从队尾进队一次3.队头出队的条件:队头元素滑出了窗口注意:队列中存储的是下标 方便判断队头出队单调队列的性质队列中的元素其对应在原来的列表中的顺序必须是单调递增的。队列中元素的大小必须是单调递*(增/减/甚至是自定义也可以)在每次加入或者删除元素时都保持序列里的元素有序即队首元素始终是最小值或者最大值在维护最小值的时候 :被删掉的大数再也不会回来只要新数比队尾更小、更晚过期队尾的大数就永远失去了成为窗口最小值的资格直接被淘汰 在维护最大值的时候 同样如此例题P1886代码// 滑动窗口单调队列#includebits/stdc.h #define endl \n #define ll long long #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); const int N1000010; ll a[N],q[N],ma[N],mi[N]; using namespace std; int main() { IOS ll n,k; cinnk; for(ll i1;in;i) { cina[i]; } //维护窗口最小值 ll h1,t0; //清空队列 for(ll i1;in;i) { while(hta[q[t]]a[i]) { t--; //队尾出队队列不空且新元素更优 } q[t]i; //队尾入队存储下标 方便判断队尾出队 if(q[h]i-k1) h; if(ik) couta[q[h]] ; } coutendl; //维护窗口最大值 h1; t0; for(ll i1;in;i) { while(hta[q[t]]a[i]) { t--; } q[t]i; if(q[h]i-k1) h; if(ik) couta[q[h]]endl; } }
延伸阅读

更多相关文章

2026/9/13 9:49:03

出海AI企业搭建算力基础设施,要满足哪些核心性能要求?

算力出海这件事,前前后后帮客户做了几十次,最关键的底线其实就四条:GPU算力密度、跨区域网络延迟、存储吞吐带宽、安全合规。不同阶段要求不一样,选错直接拉高成本还拖工期。一、AI算力出海,性能瓶颈通常卡在哪大部分问…

2026/8/31 9:53:16

计算机毕业设计之中医经方查询与管理系统设计

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低平台的运营人员成本,实现了中医经方查询与管理的标准化、制度化、程序化的管理,有效地防止了中医经方查询与管理的随意管理,提高了信息的处理速度和精确度,…

2026/9/13 10:47:33

Agent-Client协议架构设计与性能优化实战

1. Agent Client Protocol 全景解析:架构设计与核心机制在分布式系统与云计算领域,Agent-Client通信协议(Agent Client Protocol)作为基础设施层的核心技术,承担着控制指令下发、状态同步和数据传输的关键职能。过去十…

2026/9/13 10:47:33

Lithe-IDEA:基于IntelliJ Platform的轻量级Java开发环境构建指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 10:47:33

Milvus 2.6.8实战:Docker部署、外部MinIO与混合检索全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 10:47:33

5分钟本地搭建AI证件照平台:ONNXRuntime+Gradio+OpenCV实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 10:47:33

MAXScript批量将BIP转FBX:动捕动作自动化处理实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 10:42:33

Arm项目工程健康度扫描工具mango深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码