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
BZOJ1057
【
BZOJ1057
】【ZJOI2007】棋盘制作
Description国际象棋是世界上最古老的博弈游戏之一,和中国的围棋、象棋以及日本的将棋同享盛名。据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳。而我们的主人公小Q,正是国际象棋的狂热爱好者。作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好朋友小W决定将棋盘扩大以适应他们的新规则。小Q找到了一张由N*M个正方形的格子组成的矩形纸
dcx2001
·
2020-08-15 13:03
单调栈
BZOJ1057
: [ZJOI2007]棋盘制作(洛谷P1169)
DPBZOJ题目传送门洛谷题目传送门这是一类套路题,叫最大子矩形问题,具体可以看看这里代码:#include#include#include#include#defineN2005#defineFinlineusingnamespacestd;intn,m,ans1,ans2,h[N][N],l[N][N],r[N][N],L[N][N],R[N][N],s[N][N];boolf[N][N];F
forezxl
·
2020-08-15 13:20
洛谷
BZOJ
DP---一般DP
蒟蒻zxl的Blog专栏
[
BZOJ1057
]ZJOI2007棋盘制作|DP|单调栈
这题好几天以前就看了,不过一直有一些细节想不通就没写下来。。首先发现棋盘矩阵上横纵坐标之和的奇偶性不同的点都是相反的,所以首先把横纵坐标之和为奇(或者是偶,这都不重要)的点取反,这样任务就变成了求一个最大全0或1的子矩阵。。先考虑一维的情况,h[i]表示以i为终点的最长连续0的长度,有h[i]=a[i]==0?h[i-1]+1:0,这样可以O(n)轻松求出。。拓展到高维,首先同样按照一维的方法,h
Tag_king
·
2020-08-08 13:30
BZOJ
【
BZOJ1057
】[ZJOI2007] 棋盘制作(单调栈的运用)
点此看题面大致题意:给你一个N∗MN*MN∗M的010101矩阵,要求你分别求出最大的010101相间的正方形和矩形(矩形也可以是正方形),并输出其面积。题解这题第一眼看去没什么思路,仔细想想,能发现这道题其实是一道单调栈的运用题。我们可以先对矩阵上的每一个元素进行预处理,求出以其为底的最长的010101柱。然后对矩形(正方形)的下界进行枚举,即枚举每一行作为矩形(正方形)的下边。此时,我们发现,
chenxiaoran666
·
2018-07-20 19:09
BZOJ
单调栈
[
BZOJ1057
][ZJOI2007]棋盘制作(悬线法)
题目描述传送门题解设h(i,j)表示以(i,j)为下端点的悬线的最长长度,l(i,j)和r(i,j)分别表示使悬线有此长度的左边最近的限制和右边最近的限制。预处理L(i,j)R(i,j)分别表示点(i,j)能扩展到的最近的不合法点。如果(i,j)与(i-1,j)颜色相同,那么h(i,j)=1,l(i,j)=L(i,j),r(i,j)=R(i,,j);如果(i,j)与(i-1,j)颜色不相同,那么h
Clove_unique
·
2016-11-07 22:28
题解
悬线法
[
BZOJ1057
][ZJOI2007]棋盘制作(悬线法)
题目描述传送门题解设h(i,j)表示以(i,j)为下端点的悬线的最长长度,l(i,j)和r(i,j)分别表示使悬线有此长度的左边最近的限制和右边最近的限制。预处理L(i,j)R(i,j)分别表示点(i,j)能扩展到的最近的不合法点。如果(i,j)与(i-1,j)颜色相同,那么h(i,j)=1,l(i,j)=L(i,j),r(i,j)=R(i,,j);如果(i,j)与(i-1,j)颜色不相同,那么h
Clove_unique
·
2016-11-07 22:28
题解
悬线法
BZOJ1057
: [ZJOI2007]棋盘制作
悬线法DP根据前者推的最远处开始算可以证明是n*m的#include #include #include usingnamespacestd; charc; boolflag; inlinevoidread(int&a) { a=0;doc=getchar();while(c!='-'&&(c'9')); if(c=='-')c=getchar(),flag=true; while(c='0')a
liutian429073576
·
2016-03-15 14:00
[悬线法]
BZOJ1057
[ZJOI2007]棋盘制作
当年是怎么把这道悬线法SB题漏掉没刷的总之悬线法,刚好在省选前复习下一开始愣是没看出来诶太弱#include #include #include usingnamespacestd; inlinecharnc() { staticcharbuf[100000],*p1=buf,*p2=buf; if(p1==p2){p2=(p1=buf)+fread(buf,1,100000,stdin);if
u014609452
·
2016-03-15 11:00
【ZJOI2007】棋盘制作
BZOJ1057
Description 国 际象棋是世界上最古老的博弈游戏之一,和中国的围棋、象棋以及日本的将棋同享盛名。据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方 阵,对应八八六十四卦,黑白对应阴阳。而我们的主人公小Q,正是国际象棋的狂热爱好者。作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好 朋友小W决定将棋盘扩大以适应他们的新规则。小Q找到了一张由N*M个正方形的格子
·
2015-11-13 01:24
2007
BZOJ1057
【单调栈】
无限仰慕KeyID讲的不用单调栈的方法./*Iwillwaitforyou*/ #include #include #include #include usingnamespacestd; typedeflonglongLL; typedefunsignedlonglongULL; typedefpairPII; constintmaxn=2010; constintmaxm=1010;
Lethelody
·
2015-04-12 11:00
【
BZOJ1057
】【ZJOI2007】棋盘制作 最大01子矩阵/正方形
转载请注明出处谢谢:http://blog.csdn.net/vmurder/article/details/42886393题解:嗯,这个图确实不太好做,但是我们可以把它转化成求全是1/0的子矩阵问题。就是把行列奇偶性相同的点01取反,然后就好了(这是显然的,需要证明的留言)。然后就是求最大子矩阵了。至于正方形?求子矩阵时顺带求了,就是那个ans1,这个显然,因为我们枚举了每一个点的延展性,所以
Vmurder
·
2015-01-19 22:00
棋盘制作
最大01子矩阵
ZJOI2007
BZOJ1057
最大01正方形
上一页
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
其他