news 2026/6/25 19:36:51

P2216 [HAOI2007] 理想的正方形 [二维单调队列]

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
P2216 [HAOI2007] 理想的正方形 [二维单调队列]

P2216 [HAOI2007] 理想的正方形

时间限制: 1.00s 内存限制: 128.00MB

复制 Markdown

中文

退出 IDE 模式

题目描述

有一个 a×b 的整数组成的矩阵,现请你从中找出一个 n×n 的正方形区域,使得该区域所有数中的最大值和最小值的差最小。

输入格式

第一行为 3 个整数,分别表示 a,b,n 的值。

第二行至第 a+1 行每行为 b 个非负整数,表示矩阵中相应位置上的数。每行相邻两数之间用一空格分隔。

输出格式

仅一个整数,为 a×b 矩阵中所有“ n×n 正方形区域中的最大整数和最小整数的差值”的最小值。

输入输出样例

输入 #1复制运行

5 4 2 1 2 5 6 0 17 16 0 16 17 2 1 2 10 2 1 1 2 2 2

输出 #1复制运行

1

说明/提示

矩阵中的所有数都不超过 1,000,000,000。

20% 的数据 2≤a,b≤100,n≤a,n≤b,n≤10。

100% 的数据 2≤a,b≤1000,n≤a,n≤b,n≤100。

先进行一维的单调队列然后将一维的结果再次进行单调队列即可

#include <bits/stdc++.h> using namespace std; const int N=1e3+5; int a[N][N]; int cmax[N][N],cmin[N][N]; int q1[N],q2[N]; int n,m,len; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>m>>len; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++)cin>>a[i][j]; for(int i=1;i<=n;i++){ int l1=1,l2=1,r1=0,r2=0; for(int j=1;j<=m;j++){ while(l1<=r1&&j-q1[l1]>=len)l1++; while(l2<=r2&&j-q2[l2]>=len)l2++; while(l1<=r1&&a[i][j]>=a[i][q1[r1]])r1--; while(l2<=r2&&a[i][j]<=a[i][q2[r2]])r2--; q1[++r1]=j;q2[++r2]=j; cmax[i][j]=a[i][q1[l1]];cmin[i][j]=a[i][q2[l2]]; } } int ans=INT_MAX; for(int j=len;j<=m;j++){ int l1=1,l2=1,r1=0,r2=0; for(int i=1;i<=n;i++){ while(l1<=r1&&i-q1[l1]>=len)l1++; while(l2<=r2&&i-q2[l2]>=len)l2++; while(l1<=r1&&cmax[i][j]>=cmax[q1[r1]][j])r1--; while(l2<=r2&&cmin[i][j]<=cmin[q2[r2]][j])r2--; q1[++r1]=i;q2[++r2]=i; if(i>=len)ans=min(ans,cmax[q1[l1]][j]-cmin[q2[l2]][j]); } } cout<<ans<<'\n'; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 21:47:03

多模融合:金仓数据库重新定义文档处理能力

在数字化转型的关键阶段&#xff0c;企业对数据处理的需求已超越基础的存储与检索。文档数据库凭借其处理半结构化数据的天然优势&#xff0c;成为现代应用开发的重要基石。然而&#xff0c;随着技术自主可控、供应链安全以及多模数据融合处理成为企业发展的核心诉求&#xff0…

作者头像 李华
网站建设 2026/6/23 3:56:06

手把手教你用AutoGen Studio玩转Qwen3-4B大模型

手把手教你用AutoGen Studio玩转Qwen3-4B大模型 1. 背景与目标 随着大语言模型&#xff08;LLM&#xff09;在实际业务场景中的广泛应用&#xff0c;如何高效构建基于AI代理的自动化系统成为开发者关注的核心问题。传统的多代理系统开发流程复杂、调试困难&#xff0c;而低代…

作者头像 李华
网站建设 2026/6/24 0:51:35

AI智能二维码工坊部署总结:常见需求与解决方案汇总

AI智能二维码工坊部署总结&#xff1a;常见需求与解决方案汇总 1. 引言 1.1 业务场景描述 在现代数字化服务中&#xff0c;二维码已成为信息传递、身份认证、支付跳转等高频交互的核心载体。无论是线下导流、设备绑定&#xff0c;还是内容分享、小程序入口&#xff0c;对快速…

作者头像 李华
网站建设 2026/6/20 12:29:50

基于Springboot+Vue的教学师资管理系统设计与实现

前言 &#x1f31e;博主介绍&#xff1a;✌CSDN特邀作者、全栈领域优质创作者、10年IT从业经验、码云/掘金/知乎/B站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发、文档编写、答疑辅导等。✌…

作者头像 李华
网站建设 2026/6/17 8:11:18

Qwen2.5与DeepSeek-V3对比评测:小参数模型推理效率实测

Qwen2.5与DeepSeek-V3对比评测&#xff1a;小参数模型推理效率实测 1. 背景与评测目标 随着大语言模型在边缘设备和低延迟场景中的广泛应用&#xff0c;小参数量模型的推理效率成为工程落地的关键考量因素。尽管千亿级模型在性能上表现卓越&#xff0c;但其高昂的部署成本和资…

作者头像 李华
网站建设 2026/6/18 7:44:36

MGeo开源贡献指南:如何参与代码改进与反馈

MGeo开源贡献指南&#xff1a;如何参与代码改进与反馈 1. 背景与项目价值 随着城市数字化进程的加速&#xff0c;地址数据在物流、地图服务、政务系统等场景中扮演着关键角色。然而&#xff0c;中文地址存在表述多样、缩写习惯差异、层级结构不统一等问题&#xff0c;导致不同…

作者头像 李华