E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ1047
BZOJ1047
:[HAOI2007]理想的正方形——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1047https://www.luogu.org/problemnew/show/P2216#sub有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。参考:http://blog.csdn.net/ziqian2000/article/de
weixin_33716557
·
2020-09-14 08:10
BZOJ1047
: [HAOI2007]理想的正方形
1047:[HAOI2007]理想的正方形TimeLimit:10SecMemoryLimit:162MBSubmit:3530Solved:1946[Submit][Status][Discuss]Description有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。Input第一行为3个整数,分别表示a,b,n的值第二行至第a+1
weixin_30468137
·
2020-09-14 07:52
bzoj1047
[HAOI2007]理想的正方形 单调队列
题意:有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。早就看过这题了,解法其实很简单啦,但是我单调队列经常打错,然后没什么信心去搞这题==最后想了想还是要锻炼一下自己就来刚了一波。这应该是一个二维单调队列一样的东西,具体的话就是单调队列求出每一个点往右n个的最小最大值。然后每一次对于一个n*n的矩形,枚举他的长宽起点(或者终点,都一样
Transcendence_magia
·
2020-09-14 07:22
bzoj
单调队列
神奇脑洞题
[
BZOJ1047
][HAOI2007]理想的正方形
TimeLimit:10SecMemoryLimit:162MBDescription有一个a∗ba*ba∗b的整数组成的矩阵,现请你从中找出一个n∗nn*nn∗n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。Input第一行为3个整数,分别表示a,b,na,b,na,b,n的值第二行至第a+1行每行为b个非负整数,表示矩阵中相应位置上的数。每行相邻两数之间用一空格分隔。100%的数据
dxyinme
·
2020-09-14 06:27
-----------数据结构
ST表
[
BZOJ1047
][HAOI2007]理想的正方形(RMQ+DP)
题意有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。思路RMQ求再DP代码#include#include#definemax(a,b)(a>b?a:b)#definemin(a,b)(a
diejia6473
·
2020-09-14 06:19
[bzoj 1047] [HAOI2007]理想的正方形
[
bzoj1047
][HAOI2007]理想的正方形Description有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。
diezhe3537
·
2020-09-14 06:48
HAOI2007-理想的正方形
BZOJ1047
题目描述有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。输入格式第一行为3个整数,分别表示a,b,n的值第二行至第a+1行每行为b个非负整数,表示矩阵中相应位置上的数。每行相邻两数之间用一空格分隔。100%的数据2#include#includeusingnamespacestd;constintMAXa=1002;structdat
红领巾Zzz
·
2020-09-14 05:18
题解
bzoj 1047 //1047: [HAOI2007]理想的正方形 朴素算法/动归/动归 滚动数组优化/二维RMQ/二维RMQ 滚动数组优化/单调队列分别维护行与列
bzoj1047
//1047:[HAOI2007]理想的正方形朴素算法/动归/动归滚动数组优化/二维RMQ/二维RMQ滚动数组优化/单调队列分别维护行与列
bzoj1047
//1047:[HAOI2007
mrcrack
·
2020-08-18 00:12
跟着大佬学算法
[
bzoj1047
][HAOI2007]理想的正方形(单调队列)
传送门这个题很早以前就看到了,一直没做,来填个坑。其实就是算两次单调队列,维护一下就好了。。。代码:#include#include#include#include#include#include#definelllonglongusingnamespacestd;inlineintread(){intx=0;charch='';intf=1;while(ch!='-'&&(ch'9'))ch=g
stone41123
·
2020-08-04 01:17
单调队列十分地有趣
[
BZOJ1047
][HAOI2007]理想的正方形(单调队列)
题目描述传送门题解由题目可知只有每一部分的最大值和最小值是有价值的。单调队列只能处理一维的情况,二维的不好处理。那么我们可以考虑一维一维处理,比如说,先做列再做行。可以将每一列每一个长度为n的区间用单调队列处理出来最大值和最小值,然后缩成一个点。然后将每一行缩成的那些点每一个长度为n的区间再用单调队列处理出来最大值和最小值,这样就相当于求出了n*n的矩形的最大值和最小值统计答案即可。代码#incl
Clove_unique
·
2016-11-10 23:36
题解
省选
单调队列
【
BZOJ1047
】理想的正方形 堆套堆 优先队列
可以粗略的理解为二维的滑动窗口最大最小值首先我想到的是暴力穷举A-n+1行,每一列对应一个n*B的矩形区域做一维的滑动窗口,时间复杂度O(nABlog(n))妥妥TLE经过分析如果我们为每一横行开一个优先队列维护横向滑动窗口,加入j列的新元素之后同时处理出A-n+1行中以第j列结尾的n*n矩阵的最大最小值,以最小值为例,首先将n行的优先队列的队首清成合法元素,再开一个维护纵向滑动窗口的优先队列,将
qq_34637390
·
2016-04-15 23:00
数据结构
优先队列
BZOJ1047
理想的正方形
这个题的数据感觉不强,可以考虑1e8级别的算法。(虽然最好的做法不必如此)提示:1.如果按照最暴力的做法,很定是超时的,需要稍稍优化一下我将在代码后继续解释:#include #include #include #include #include #include #include #include #include #include usingnamespacestd; constintmax
Fuxey
·
2016-01-17 21:00
暴力
单调队列
bzoj
BZOJ1047
: [HAOI2007]理想的正方形
恩数据水被我卡过去了2333333我的是n^2logn的。。每一次扫一遍multiset。。然后居然就真的过去了23333#include #include #include #include usingnamespacestd; multisetSum,Par[1001]; charc; boolflag; inlinevoidread(int&a) { flag=false,a=0; doc
liutian429073576
·
2015-12-15 17:00
bzoj
单调队列
bzoj1047
理想的正方形 题目大意:求a*b的矩阵中一个n*n的子矩阵,使得子矩阵的最大值和最小值的差最小。
·
2015-11-02 12:33
队列
BZOJ1047
HAOI2007 理想的正方形
传送门首先,我们应该先算出每一行每N个数的最大值,保存在mx里面。同样的再处理出mn(最小值)。然后处理出mx数组中每一列每N个数的最大值,保存在MX中。同样的再处理出MN(最小值)。(以上的处理用单调队列最方便。)然后再n²处理出MX-MN的最小值就行了这道题我的代码略丑……/************************************************************
geng4512
·
2015-07-18 19:00
单调队列
bzoj
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他