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
BZOJ1997
bzoj1997
[HNOI2010]平面图判定Plana
bzoj1997
[HNOI2010]平面图判定Planar链接bzojluogu思路好像有很多种方法过去。我只说2-sat环上的边,要不在里面,要不在外边。
复杂的哈皮狗
·
2020-09-16 00:42
BZOJ1997
[Hnoi2010]Planar 【2-sat】
题目链接
BZOJ1997
题解显然相交的两条边不能同时在圆的一侧,\(2-sat\)判一下就好了但这样边数是\(O(m^2)\)的,无法通过此题但是\(n\)很小,平面图边数上界为\(3n-6\),所以过大的
weixin_30949361
·
2020-09-16 00:57
BZOJ1997
: [Hnoi2010]Planar
BZOJ1997
:[Hnoi2010]PlanarDescriptionInputOutputSampleInput26914151624252634353614253655122334455112345SampleOutputNOYES
weixin_30657541
·
2020-09-16 00:12
数据结构与算法
BZOJ1997
——次小生成树(严格次小生成树)
传送门次小生成树什么的就不想讲了这儿有个神仙的讲解我只需要贴代码就是了#includeusingnamespacestd;#definelllonglonginlineintread(){charch=getchar();intres=0;while(!isdigit(ch))ch=getchar();while(isdigit(ch))res=(res=1=0;i--){if(del>=(1=0
Stargazer.
·
2020-09-15 23:05
【
BZOJ1997
】【HNOI2010】Planar
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#includeusingnamespacestd;#defineMAXN20005intf[MAXN],x[MAXN],y[MAXN],home[MAXN],value[MAXN];boolcircle[MAXN];intF(intx){if(f[x]==x)returnx;elsereturnf[x]=F(f[x]);}intmai
cz_xuyixuan
·
2020-09-15 23:30
【OJ】BZOJ
【类型】做题记录
【算法】2-SAT
【算法】平面图相关
bzoj1997
题目链接:
bzoj1997
题意:给你一个包含所有点的哈密尔顿回路的图,判断是否是平面图。n3*n-6,这一定不是平面图。这样我们就能解决这个问题了。
ljyloi
·
2020-09-15 22:39
bzoj
bzoj1997
[Hnoi2010]Planar 2-SAT
Description若能将无向图G=(V,E)画在平面上使得任意两条无重合顶点的边不相交,则称G是平面图。判定一个图是否为平面图的问题是图论中的一个重要问题。现在假设你要判定的是一类特殊的图,图中存在一个包含所有顶点的环,即存在哈密顿回路。Solution考虑把哈密顿路径画成一个圈,那么剩下的路径要么在圆外要么在圆内。问题变成求是否存在一种方案使得所有边不相交这是一个很经典的2-SAT模型,对于
olahiuj
·
2020-09-15 22:14
c++
2-SAT
BZOJ1997
: [Hnoi2010]Planar(洛谷P3209)
2-SAT平面图BZOJ题目传送门洛谷题目传送门首先根据平面图的性质,如果m>n∗3−6,那么这个图一定不是平面图。这样我们就可以把边数缩至n级别的了。因为存在哈密顿回路,那么对于连接相同的两点的边,最多只能有两条(除了哈密顿回路的边),一条在环的里面,一条在环的外面。这样的限制满足2-SAT.用手画几张图就可以发现,当两条边相交时,必然都在环的同一侧。记相交的边i连接的两点为u和v(u(选了i的
forezxl
·
2020-09-15 22:59
洛谷
BZOJ
图论---2-SAT
蒟蒻zxl的Blog专栏
平面图
2-SAT
BZOJ
洛谷
【
bzoj1997
】[Hnoi2010]Planar
题目链接DescriptionInputOutputSampleInput26914151624252634353614253655122334455112345SampleOutputNOYES题解把题目给的哈密顿回路拎出来。对于不在哈密顿回路上的边,在平面图上要么把它放在环内部要么放在环外部。而对于相交的两条边,必然即不能同时放在内部也不能同时放在外部。那么可以建立2-SAT模型:去掉哈密顿回
KikiDMW
·
2020-09-15 21:57
2-SAT
Tarjan
bzoj1997
[Hnoi2010]Planar(平面图+2-sat)
平面图的一个性质:m#include#include#includeusingnamespacestd;#definelllonglong#defineinf0x3f3f3f3f#defineN610inlinechargc(){staticcharbuf[1'9'){if(ch=='-')f=-1;ch=gc();}while(ch>='0'&&chqq;structedge{intto,nex
Icefox_zhx
·
2020-09-15 21:17
bzoj
2-sat
tarjan
【HNOI2010】【
BZOJ1997
】Planar
DescriptionInputOutputSampleInput26914151624252634353614253655122334455112345SampleOutputNOYESHINT保证100%的数据满足T≤100,3≤N≤200,M≤10000SourceDay1这题BZOJ又挂了_(:зゝ∠)_从Codevs搞来了样例学了一下平面图判定.只玩定理是不行的T-T(但是可以用来大剪枝
CreationAugust
·
2020-09-15 21:25
丧心病狂
随便搞搞
模板题库
[
BZOJ1997
][Hnoi2010]Planar(2-SAT)
题解传送门题解刚开始看这道题和POJ3207很像,但是发现边是1w的,没法O(n2)做首先这题不能贪心,反例随便举然后我又觉得展环成链之后,对于每一个点,只保留其向左和向右最远的边,这样来搞貌似还是有反例的,但是这题数据辣鸡被我乱搞过了其实正解是…如果边数>点数*3-6的话,一定不是一个平面图于是随便做了…一口老血喷出来…代码#include#include#include#include#inc
Clove_unique
·
2020-09-15 21:22
题解
2-SAT
[
BZOJ1997
/HNOI2010]平面图判定
DescriptionInputOutput是的、、BZOJ样例都没给。题解(from出题人):如果只考虑简单的平面图判定,这个问题是非常不好做的。但是题目中有一个条件——这张图存在一条哈密顿回路。我们把哈密顿回路在平面上画成一个圆。仔细观察一下。每条边如果画在圆内都是一条弦,那如果弦在圆内相交怎么办?把另一条弦翻出去。能不能两条弦都翻出去呢?不能,因为如果两条边在圆内相交,那么它们在圆外也会相交
weixin_33884611
·
2020-09-15 21:19
数据结构与算法
BZOJ1997
:[HNOI2010]PLANAR——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=1997https://www.luogu.org/problemnew/show/P3209若能将无向图G=(V,E)画在平面上使得任意两条无重合顶点的边不相交,则称G是平面图。判定一个图是否为平面图的问题是图论中的一个重要问题。现在假设你要判定的是一类特殊的图,图中存在一个包含所有顶点的环,即存在
weixin_33725239
·
2020-09-15 21:15
[
BZOJ1997
][Hnoi2010]Planar && 并查集
记集合m+i为不能和第i条边在同一集合的边弱i,j相交且i,j在同一组合则不合法#include#include#include#include#include#include#defineSFscanf#definePFprintfusingnamespacestd;typedeflonglongLL;constintMAXN=200;constintMAXM=10000;intfa[MAXN*
大蒟蒻syk
·
2020-09-15 21:19
数据结构
BZOJ
BZOJ1997
: [Hnoi2010]Planar(并查集)
传送门题意:给一个n个点大环,大环上有边,问这个图是不是平面图。(n≤200,m≤10000)题解:二分图染色判断合法性很好想,但m这么大不可能m2建边。听说有一个平面图定理:若图是平面图,那么m≤3∗n−6。那么直接剪枝n2判定就好了。#includeusingnamespacestd;inlineintread(){charch=getchar();inti=0,f=1;while(!isdi
DZYO
·
2020-09-15 21:33
并查集
【
BZOJ1997
】【HNOI2010】Planar(2-SAT,平面图,并查集)
DescriptionSolution首先如果边数大于3n−63n−6直接输出NO我们将哈密顿回路看做一个圆,一对边如果全部在圆内相连会相交,那么它们如果全部在圆外连边也会相交。也就是如果其中一条在圆内,那么另一条一定在圆外。这就是个2-SAT问题了。直接建图后求SCC即可当然这题也可以用并查集水过。Code/********************************************
Hany01
·
2020-09-15 21:02
BZOJ
省选
2-SAT
平面图
BZOJ1997
HNOI2010 平面图判定 planar (并查集判二分图)
题意判断一个存在哈密顿回路的图是否是平面图。n≤200,m≤10000n\le200,m\le10000n≤200,m≤10000题解如果一定存在一个环,那么连的边要么在环里面要么在外面。那么把在同侧会矛盾的边之间连边,如果是一个二分图就是平面图。有问题的是边数是O(m2)O(m^2)O(m2)的。但是可以发现当m>n∗3−6m>n*3-6m>n∗3−6的时候一定形成不了平面图。所以就判一下,如果
_Ark
·
2020-09-15 21:43
并查集
2018.11.06【HNOI2010】【洛谷P3209】【
BZOJ1997
】平面图判定Planar(二分图染色)(结论题)
BZOJ传送门洛谷传送门解析:首先记住一个结论:对于任意平面图都有∣E∣≤3∣V∣−6|E|\leq3|V|-6∣E∣≤3∣V∣−6证明一下:只考虑极大平面图(即点数一定时,边数达到最大的平面图)。其他的情况边数都小于同顶点数的极大平面图。首先,极大平面图的每个平面由3条边围成,不然总是能够在这个形状中继续连一条对角线加边。令rrr为该平面图面数,mmm为边数,nnn为点数。由于是极大平面图,所以
zxyoi_dreamer
·
2020-08-14 00:09
二分图染色
[
bzoj1997
][Hnoi2010]平面图判定——2-SAT+平面图定理
题目大意:给定一个带有哈密顿回路的图,求此图是否为平面图。思路:既然有哈密顿回路,则可以把环外和环内看成两个不同的区域,然后如果有不是环上的边相交的话就不能同时在环内或者环外。然后就可以转化为2-SAT模型。但是发现如果枚举去连边的话显然很可能会TLE。这个时候要用到平面图的一个定理,即任意一个平面图的边的个数不大于3*n-6,至于证明我就不知道了。。然后就直接枚举连边跑2-SAT就好了。#inc
ylsoi
·
2020-08-13 23:23
哈密顿回路
2-SAT
【平面图判定+2-SAT验证】
BZOJ1997
[Hnoi2010]Planar
题面在这里因为平面图有一个性质,就是边数不超过3N-6所以可以首先确定边数大于3N-6的case了那么边数就成了O(n)级别的了然后是典型的2-SAT问题:每条边要么在哈密顿回路的内侧,要么在外侧Tarjan缩点判定即可示例程序:#include#include#include#definecl(x,y)memset(x,y,sizeof(x))usingnamespacestd;inlinech
linkfqy
·
2020-08-13 15:07
BZOJ
2-SAT
常见OJ题解专栏
我的OI历程
【
BZOJ1997
】[Hnoi2010]Planar【平面图判定】【2-SAT】
判断存在一条Hamilton回路的图是否是平面图。和POJ3207几乎一样,只要把判断相交的条件改成按回路编号比较就行了。http://blog.csdn.net/braketbn/article/details/50834302/*FootprintsInTheBloodSoakedSnow*/ #include #include usingnamespacestd; constintmax
BraketBN
·
2016-03-09 21:00
2-sat
平面图判定
上一页
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
其他