P2216 [HAOI2007] 理想的正方形

news/2025/9/18 17:15:17/文章来源:https://www.cnblogs.com/hazelxcf/p/19099202

P2216 [HAOI2007] 理想的正方形

 

#include <bits/stdc++.h>
using namespace std;const int maxn = 1e3 + 10;
int a,b,n;
int c[maxn][maxn];
deque <int> dq1,dq2;
int max1[maxn][maxn],min1[maxn][maxn];
int max2[maxn][maxn],min2[maxn][maxn];int ans = 2e9;int main(){ios::sync_with_stdio(0);cin.tie(0);cin >> a >> b >> n; for(int i = 1; i <= a; i++){for(int j = 1; j <= b; j++){cin >> c[i][j];} }for(int i = 1; i <= a; i++){dq1.clear();dq2.clear();for(int j = 1; j <= b; j++){while(!dq1.empty() && j - dq1.front() + 1 > n) dq1.pop_front();while(!dq1.empty() &&c[i][dq1.back()] <= c[i][j]) dq1.pop_back();dq1.push_back(j);if(j >= n) max1[i][j - n + 1] = c[i][dq1.front()];while(!dq2.empty() && j - dq2.front() + 1 > n) dq2.pop_front();while(!dq2.empty() &&c[i][dq2.back()] >= c[i][j]) dq2.pop_back();dq2.push_back(j);if(j >= n) min1[i][j - n + 1] = c[i][dq2.front()];} }for(int j = 1; j <= b - n + 1; j++){dq1.clear();dq2.clear();for(int i = 1; i <= a; i++){while(!dq1.empty() && i - dq1.front() + 1 > n) dq1.pop_front();while(!dq1.empty() && max1[i][j] >= max1[dq1.back()][j]) dq1.pop_back();dq1.push_back(i);if(i >= n) max2[i - n + 1][j] = max1[dq1.front()][j];while(!dq2.empty() && i - dq2.front() + 1 > n) dq2.pop_front();while(!dq2.empty() && min1[i][j] <= min1[dq2.back()][j]) dq2.pop_back();dq2.push_back(i);if(i >= n) min2[i - n +1][j] = min1[dq2.front()][j];}}for(int i = 1; i <= a - n +1; i++){for(int j = 1; j <= b - n +1; j++){ans = min(ans,max2[i][j] - min2[i][j]);}}cout << ans;return 0;
}

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PuTTY下载和安装

下载地址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html更改安装路径创建桌面快捷方式

数据通路-单总线结构(最头晕的一集)

数据通路就是数据在各个部件之间传输的路径(包括路径上的部件) 控制信号是有控制部件产生的 数据通路的结构 1cpu内部单总线方式 2cpu内部多总线方式 3专用数据通路方式 内部总线 是指同一个部件,如cpu内部链接各寄…

python基础篇-集合

集合 :集合内的数据不重复,但是数据是无序的创建集合 {} 或者set()注: 创建空集合只能用set(), 因为{}已经被字典占用了eg: s1 = {10, 20 ,40,30 }eg: s2 = set(abcdefg) :用set创建,序列会被拆开 = 》 {’a, b…

#egsg:在同一程序中比较-计算圆的面积

以下是一个同时使用easygui和pysimplegui实现的圆形面积计算程序,通过菜单让用户选择使用哪种GUI库: import math import easygui import PySimpleGUI as sgdef easygui_calculator():"""使用easygui…

282 项多模态胃肠病学数据集:适配 VLM 与 MLLM 微调,融合医学图像与临床文本的医疗 AI 训练数据

​ 获取更多高质量数据集,请访问典枢数据交易平台:https://dianshudata.com一、引言与背景 在医疗人工智能领域,胃肠病学的智能化诊断与分析始终依赖高质量数据的支撑,而视觉语言模型(VLM)与多模态大型语言模型(…

2-sat板子

vector<int>e[maxn]; int n,m; int inscc[maxn]; int low[maxn],dfn[maxn]; stack<int>stk; int instk[maxn]; int tot,cnt; vector<int>scc[maxn];void dfs(int u,int fa){low[u]=dfn[u]=++tot;stk…

Node.js 中使用 .env 文件管理环境变量

Node.js 中使用 .env 文件管理环境变量Node.js 中使用 .env 文件管理环境变量xiaochong0302鸠摩智首席音效师​关注他1 人赞同了该文章 Using .env File in Node.jsNode.js 应用程序通常依赖于环境变量来管理敏感信息或…

centos 7中安装jenkins

1.安装java11 [root@localhost ~]# yum install -y java-11-openjdk-devel [root@localhost ~]# java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2.el7_9) (build …

pythonjs逆向 破解滑动验证码 - hello-*

现在的滑动验证码防盗等级都比较高,之前的是一张完整的图片带缺口,现在返回的图片是打乱顺序拼接而成的,所以现在破解不仅要识别滑块的缺口,同时还需要复原完整的图片一.伪造请求获取验证码图片可以看到请求中主要…

解决 pandas.to_csv 乱码、丢失行和自动换行问题 时间转换

解决 pandas.to_csv 乱码、丢失行和自动换行问题-百度开发者中心 https://developer.baidu.com/article/details/2792989 在使用 pandas.to_csv 函数时,可能会遇到一些问题,如乱码、丢失行和自动换行等。这些问题通常…

JavaDay7

数组 数组的定义数组是相同类型数据的有序集合。 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组声明创建首…

腾讯混元 3D 3.0 模型发布

腾讯混元 3D 3.0 模型发布腾讯混元 3D 3.0 模型发布来源: OSCHINA 编辑: 局 2025-09-16 18:06:000推广 | 鸿蒙应用开发者激励计划 2025 正式发布,总奖金池超亿元!限时开放,快来了解腾讯宣布推出混元 3D 3.0 模型,其…

Bun:不仅是新的JavaScript运行时,并且重塑了JavaScript工具链

Bun:不仅是新的JavaScript运行时,并且重塑了JavaScript工具链Bun:不仅是新的JavaScript运行时,并且重塑了JavaScript工具链 原创修改于 2023-11-09 18:56:015.4K00代码可运行举报文章被收录于专栏:世界尽头与冷酷…

AI Agent 与 MCP 核心解析与企业级应用指南

AI Agent 与 MCP 核心解析与企业级应用指南AI Agent 与 MCP 核心解析与企业级应用指南 一、引言 AI Agent(人工智能代理)与 MCP(Model Context Protocol,模型上下文协议)是当前人工智能技术前沿的核心概念。AI Ag…

前端场景题笔记

先说背景再说方案 1. js超过number最大值的数怎么处理? 换数据类型。 2. 如何解决页面请求接口大规模并发问题? 请求队列,Push,shift。防抖节流。 3. 大文件上传? 前端切片,标记唯一值,后端整合。 …

P3934 [Ynoi Easy Round 2016] 炸脖龙 I 做题记录

欧拉函数前置芝士:扩展欧拉定理 题目大意 给一个长为 \(n\) 的序列,\(m\) 次操作,每次操作:区间 \([l,r]\) 加 \(x\); 对于区间 \([l,r]\),查询:\[{a_l}^{{a_{l+1}}^{{a_{l+2}}^{{\dots} ^{a{r}}}}} \mod p \]思…

核桃 CSP-S 模拟

核桃 CSP-S 模拟 T3 题意: 给定一个 \(01\) 串,选定一个操作序列,每次从原串中删除一个数,保持原串中相对顺序不变,把形成的新字符串加入答案字符串,求出本质不同答案字符串总数。 其中 \(n\le 400\) 思路: 我们…

正确输入连字号、连接号、破折号和负号

转载:Pigman - 博客园: 正确输入连字号、连接号、破折号和负号论文书写和报告编制中,经常出现连字号、连接号、破折号和负号的混淆使用,既不符合规范也影响文档美观。下面对这组符号进行区分,并给出word下正确输入…

9 月记录

P13644 K-LCA 给出树和 \(k\),每次询问给出区间 \([l,r]\),找到选择 \(k\) 个区间内的点使得 LCA 深度最大。 \(n,q\le 10^5,1<k\le n\)。考虑回滚莫队,每次加入一个点,二分最深的子树个数 \(\ge k\) 的祖先,可…

python基础-元组

元组: 一个元组可以存储多个数据,切元组内的数据是不可更改 t1 = (10,20,30)t2 = (10,)t3 = 10, 元组操作:元组不支持修改,只支持查找tuple.index()访问:下标访问: tuple[index]统计某项元素出现的次数: tuple.c…