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
BZOJ2049
SPLAY,LCT学习笔记(四)
其实LCT就是基于SPLAY的伸展操作维护树(森林)连通性的一个数据结构核心操作有很多,我们以一道题为例:例:
bzoj2049
洞穴勘测要求:加边和删边,询问连通性其实如果没有删边,裸跑并查集似乎就可以搞定但由于存在删边
lleozhang
·
2020-08-17 23:01
SPLAY
LCT
数据结构
BZOJ2049
LCT
换了一种新写法,感觉比之前好主要注意defineRotate()别写错#include#include#include#include#include#include#defineFor(i,j,k)for(registerinti=(j);i=(int)k;i++)#defineF(i)(T[i].fa)#defineL(i)(T[i].s[0])#defineR(i)(T[i].s[1])#d
lsr_yali
·
2020-08-17 21:22
bzoj
动态树
BZOJ2049
:[SDOI2008]洞穴勘测——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2049https://www.luogu.org/problemnew/show/P2147辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条
weixin_34366546
·
2020-08-09 00:48
【lct】
bzoj2049
[Sdoi2008]Cave 洞穴勘测
题意:维护一个动态并查集,支持加边,删边,维护两点连通性。主要用到了lct的AccessFindRootChangeRootlinkcut操作。#include#include#include#include#includeusingnamespacestd;#definemaxn10005intfa[maxn],c[maxn][2],siz[maxn];boolis_root[maxn],del
weixin_33957648
·
2020-08-09 00:12
BZOJ2049
: [Sdoi2008]Cave 洞穴勘测
2049:[Sdoi2008]Cave洞穴勘测TimeLimit:10SecMemoryLimit:259MBSubmit:9096Solved:4351[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰
weixin_30672295
·
2020-08-08 23:21
【LCT】
BZOJ2049
[SDOI2008]Cave 洞穴勘测
2049:[Sdoi2008]Cave洞穴勘测TimeLimit:10SecMemoryLimit:259MBSubmit:10059Solved:4863[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了
weixin_30603633
·
2020-08-08 23:03
BZOJ 2049: [Sdoi2008]Cave 洞穴勘测(LCT裸题)
题目链接:
BZOJ2049
:[Sdoi2008]Cave洞穴勘测题意:三个操作.1链接xy2断开xy3询问xy是否连通题解:LCT裸题1#include2#defineF(i,a,b)for(inti=
weixin_30500105
·
2020-08-08 23:39
【SDOI2008】【
BZOJ2049
】Cave 洞穴勘测
【题目链接】
BZOJ2049
【前置技能】LCT【题解】LCT模板题,支持link,cut,以及判断树上两点间的连通性。
步六孤明琪
·
2020-08-08 21:48
【类型】做题记录
lct-洞穴勘探(
bzoj2049
)
洞穴勘探2049:[Sdoi2008]Cave洞穴勘测TimeLimit:10SecMemoryLimit:259MBSubmit:11718Solved:5846[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通
oshawott_cute
·
2020-08-08 19:03
acm
[
bzoj2049
]洞穴勘测
[
bzoj2049
]洞穴勘测LCA板子题注意因为没有确定树的形态,只有先reverse一下把一个节点定为树根再进行操作代码#includeusingnamespacestd;charch[20];voidgetcmd
jerome_wei
·
2020-08-08 19:25
BZOJ2049
最裸的lct了吧==,直接根据题目连边删边,然后判断一蛤2个点是否在同一棵splay中吧,抄了一份模板,以后慢慢理解,估计还要改。#include#include#include#definemaxl100010usingnamespacestd;intn,m;intfa[maxl],c[maxl][2],s[maxl];boolrev[maxl];charss[10];inlinevoidpre
二分抄代码
·
2020-08-08 17:08
LCT
bzoj2049
[ SDOI2008 ] -- LCT
只有cut和link操作的LCT代码:1#include2#include3#include4usingnamespacestd;5#defineN100106inti,j,k,x,y,n,m,f[N],ch[N][2];7boolr[N],b[N];8charc[30];9inlinevoidUpdate(intx){10if(x==0)return;11swap(ch[x][0],ch[x][
gjghfd
·
2020-08-08 15:52
LCT
[
BZOJ2049
][[Sdoi2008]Cave 洞穴勘测][LCT]
[
BZOJ2049
][[Sdoi2008]Cave洞穴勘测][LCT]思路:题目大意就不放了,貌似是一道LCT裸题。。。三个操作分别是link,cut和find。
g1n0st
·
2020-08-08 15:22
LCT
2017
Bzoj
[
bzoj2049
][Sdoi2008]Cave 洞穴勘测_LCT
Cave洞穴勘测bzoj-2049Sdoi-2008题目大意:维护一个数据结构,支持森林中加边,删边,求两点连通性。n个点,m个操作。注释:$1\len\le10^4$,$1\lem\le2\cdot10^5$。想法:刚学了一发LCT,写一道照学长抄一道板子题。话说什么是LCT?就是一个贼nb的数据结构,支持加边删边后的什么路径和子树信息啥的,这就是LCT。艾欧欸软可以的blog这道题,我们只需要
dianan0938
·
2020-08-08 15:14
bzoj2049
Cave 洞穴勘测 lct
这里比上次多了几个操作。1.make_root(u)换根节点,先access(u),再splay(u),将u移动到splay树的最顶上,现在这棵splay对于root来说只有左子树上有东西,右子树上没有东西,那么交换一下左右子树,再打个标记,这样就变成了左子树没东西,右子树上有东西,这样u就变成根节点了。2.link(u,v)就是将u和v连在一起,我本来想的是直接把Access(u),Splay(
dengpangbu3703
·
2020-08-08 15:35
【
BZOJ2049
】 [Sdoi2008]Cave 洞穴勘测
BZOJ2049
[Sdoi2008]Cave洞穴勘测Solution看到这种动态连边和动态删边的不就想到LCT?直接上就好了.好像可以非路径压缩并查集搞,不清楚了.
araw94333
·
2020-08-08 14:27
【LCT】
BZOJ2049
[Sdoi2008]Cave 洞穴勘测
传送门动态树LCT是一种NB的数据结构,虽然不太好写。与树链剖分类似,LCT把最后一个访问的儿子做为重边(暂且将PerferredPath叫做重边吧QAQ)。对于一个由重边组成的链用序列之神Splay来维护。那么一棵LCT就有很多个Splay,然后每一个Splay的根都和它真实的父亲相连。在Splay中是将该点上面的点放在左儿子,下面的点放在右儿子。具体的操作详见杨哲的SPOJ375QTREE解法
RZXZ
·
2020-08-08 13:56
bzoj
LCT
bzoj2049
题解:加边,减去一条边还是标准的其他的就暴力好了代码:#includeusingnamespacestd;constintN=400005;charop[10];intc[N][2],size[N],n,m,y,rev[N],x,t,next[N],fa[N];intisroot(intx){returnc[fa[x]][0]!=x&&c[fa[x]][1]!=x;}voidpushup(intx
a5199519
·
2020-08-08 13:43
【
BZOJ2049
】【SDOI2008】Cave 洞穴勘测 LCT裸题 模版题 数组版
数组,至少目前我只写数组,不写指针。LCT这种东西我不打算讲或者什么乱七八糟的,反正这一篇是自用。同样,看这篇博客的人可以先去别的地方学LCT,然后来我这扒代码。代码:#include#include#include#include#definelsson[x][0]#definersson[x][1]#defineis(x)(x==son[fa[x]][1])#defineisroot(x)(x
空灰冰魂
·
2020-08-08 13:58
LCT
模板
关于用LCT维护连通性的一点想法
BZOJ2049
洞穴勘测题目大意:给定一棵树,开始时树上没有边,每次操作可以在两点之间删除或添加一条边,查询两点间是否联通。
Slr2002
·
2020-08-08 13:37
LCT
并查集
学习笔记
[
BZOJ2049
]洞穴勘测[BZOJ2157]旅游Link-Cut Tree模板题
BZOJ2049
:给出一颗树,每次加一条边或者删除一条边,询问两点的连通性。这是一眼题,最裸的,纯天然的LCT,如果你不会先去看论文吧。
Sakai_Masato
·
2020-08-08 13:23
BZOJ
动态树
[
BZOJ2049
][SDOI2008]Cave 洞穴勘测(LCT)
题目描述传送门题解Link-Cut-Tree模板题。代码#include#include#includeusingnamespacestd;constintmax_n=2e6+5;intn,m,x,y;intf[max_n],ch[max_n][2],size[max_n],reverse[max_n];intstrack[max_n];chars[10];inlineintget(intx){r
Clove_unique
·
2020-08-08 12:46
题解
省选
lct
bzoj2049
[Sdoi2008]Cave 洞穴勘测 [LCT]
题意:给你一颗树,n个节点m个询问,询问包含①加一条边②摧毁一条边③询问X,Y是否连通。题解:LCT模板题,link加边,cut删边,询问的时候先make_root(u),然后access(v),这时候若u和v在一棵树上,则在同一颗splay中。AC代码:#include#include#defineN20005usingnamespacestd;//structstp{intx,y,a,b;}a
ACTerminate
·
2020-08-08 12:21
BZOJ
LCT
LCT
BZOJ
【
BZOJ2049
】[SDOI2008] Cave 洞穴勘测(LCT维护连通性)
点此看题面大致题意:有\(n\)个洞穴,\(3\)种操作:连一条边,删一条边,询问两点是否联通。\(LCT\)维护连通性这道题应该是\(LCT\)动态维护连通性的一道模板题。考虑将\(x\)和\(y\)连边时,我们就在\(LCT\)上\(Link(x,y)\)。同理,\(x\)和\(y\)断边时,就\(Cut(x,y)\)。询问连通性时,只要判断\(FindRoot(x)\)与\(FindRoot
weixin_30906701
·
2020-08-08 11:42
bzoj2049
: [Sdoi2008]Cave 洞穴勘测 lct裸题
题意:三种操作一种摧毁一条边,一种链接一条边,一种查询两个点是否联通题解:lct的link和cut即可/**************************************************************Problem:2049User:walfyLanguage:C++Result:AcceptedTime:1896msMemory:1508kb*************
weixin_30686845
·
2020-08-08 11:37
bzoj2049
洞穴勘测(lct模板题,lct详解)
2049:[Sdoi2008]Cave洞穴勘测TimeLimit:10SecMemoryLimit:259MBSubmit:8231Solved:3881[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰
lethalboy
·
2020-08-08 11:19
高级数据结构
【BZOJ 2002】 [Hnoi2010]Bounce 弹飞绵羊 LCT
但是如果有修改操作的话,说明树是动态的,LCT解决动态树,不会LCT的去切
BZOJ2049
说一下这里的link和cut操作,首先cut操作,
pbihao
·
2020-08-08 11:54
LCT
bzoj
ac之路
【LCT】
BZOJ2049
[Sdoi2008]Cave 洞穴勘测
题面在这里LCT模板题,没什么好说的判断是否联通只需要判断根是否相同即可暴力往上找根是可行的,因为树的均摊深度是lognlogn示例程序:#include#includeusingnamespacestd;inlinecharnc(){staticcharbuf[100000],*p1=buf,*p2=buf;returnp1==p2&&(p2=(p1=buf)+fread(buf,1,10000
linkfqy
·
2020-08-08 11:21
BZOJ
LCT
我的OI历程
常见OJ题解专栏
[
BZOJ2049
]SDOI2008洞穴勘测|LCT|并查集
LCT或者按秩合并的并查集维护一下联通性就行了。。LCT:#include#includeusingnamespacestd;constintmaxn=10005,MAX=999999999;intc[maxn][2],pre[maxn],isroot[maxn],rev[maxn],n,m,u,v,i;charcom[10];voidmark(intx){if(!x)return;swap(c[
Tag_king
·
2020-08-08 10:49
BZOJ
【
BZOJ2049
】洞穴勘测(SDOI2008)-LCT真·模板题
测试地址:洞穴勘测做法:听说这题可以用并查集水过......为了训练LCT还是不要做这种事了吧......根据题目描述,图无论怎么变化都是一个森林,那么我们就要用到LCT最经典的用法了:维护森林的连通性。然后link和cut就是模板了,检测两个点之间的连通性的话,我们只需要检查这两个点在不在同一棵树上(真的树,不是splay)即可。至于模板我是向kuangbin神犇学的,既快,写着也舒服。犯二的地
Maxwei_wzj
·
2020-08-08 10:06
数据结构-平衡树/set
数据结构-LCT
bzoj2049
: [Sdoi2008]Cave 洞穴勘测 LCT
由于并查集无法拆边所以考虑用LCT。询问的话首先把x移到LCT的根再把y和根联通。由于无法确定深度,所以两个都要往上遍历。#include#include#include#include#includeusingnamespacestd;#definemaxn200010inlineintgetint(){intx=0,f=1;charch=getchar();while(ch'9'){if(ch
IED98
·
2020-08-08 10:56
splay&&LCT
BZOJ2049
——[Sdoi2008]Cave 洞穴勘测
1、题目大意:就是一个动态维护森林联通性的题2、分析:lct模板题#include #include #include #include #include usingnamespacestd; #defineLLlonglong #defineeps1e-7 intn,m; namespaceLinkCutTree{ structNode{ Node*ch[2],*fa; boolrev; Nod
qzh_1430586275
·
2016-05-17 08:00
2049
bzoj
sdoi2008
洞穴勘探
lct模板题
BZOJ2049
SDOI2008 洞穴勘测 LCT
LCT维护连通性。#include #include #include #include #include usingnamespacestd; constintMAXN=10000+2; typedefstructNODE{ NODE*child[2],*f; boolrev; }*TREE; TREEroot,Null,mark[MAXN]; intN,M; chars[10]; TREE
WDZRMPCBIT
·
2016-05-07 11:00
【
bzoj2049
】[Sdoi2008]Cave 洞穴勘测
题目描述:辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径。洞穴都十分坚固无法破坏,然而通道不太稳定,时常因为外界影响而
qq_33442848
·
2016-05-03 13:00
刷题
bzoj
【
BZOJ2049
】【codevs1839】洞穴探测,LCT练习
传送门1传送门2写在前面:省选药柜思路:超级模版啊!连子树大小都不用记录!加一个函数判断x,y是否在同一颗LCT里就行了(判根),access一下splay一下然后找最左子树,就可以判断了注意:无代码:#include #definepd(i)(i>='0'&&i<='9') usingnamespacestd; intn,m,x,y; intstacks[50010]; chars[10]; s
xym_CSDN
·
2016-04-06 14:00
[
BZOJ2049
][SDOI2008]Cave 洞穴勘测(LCT)
题目描述传送门题解Link-Cut-Tree模板题。代码#include #include #include usingnamespacestd; constintmax_n=2e6+5; intn,m,x,y; intf[max_n],ch[max_n][2],size[max_n],reverse[max_n]; intstrack[max_n]; chars[10]; inlinein
Clove_unique
·
2016-03-27 09:00
bzoj
LCT
SDOI
bzoj2049
【SDOI2008】Cave 洞穴勘测
2049:[Sdoi2008]Cave洞穴勘测TimeLimit: 10Sec MemoryLimit: 259MBSubmit: 5847 Solved: 2677[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且
AaronGZK
·
2016-03-10 21:00
tree
Link-Cut
bzoj2002 [Hnoi2010]Bounce 弹飞绵羊
题目链接linkcuttree比
bzoj2049
多维护一个size注意查询之前要把n+1reverse一下,保证答案正确性1#include 2#include 3#include 4#include
HugeGun
·
2016-03-02 21:00
bzoj2049
[Sdoi2008]Cave 洞穴勘测 link cut tree入门
linkcuttree入门题首先说明本人只会写自底向上的数组版(都说了不写指针、不写自顶向下QAQ……)突然发现linkcuttree不难写。。。说一下各个函数作用:boolisroot(intx):判断x是否为所在重链(splay)的根voiddown(intx):下放各种标记voidrotate(intx):在x所在重链(splay)中将x旋转到fa[x]的位置上voidsplay(intx)
HugeGun
·
2016-03-02 20:00
bzoj2049
LCT入门
2049:[Sdoi2008]Cave洞穴勘测TimeLimit: 10Sec MemoryLimit: 259MBSubmit: 5728 Solved: 2607[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且
__560
·
2016-03-01 17:00
【SPOJ-DYNACON1】Dynamic Tree Connectivity【LCT/并查集】
题意:和
BZOJ2049
一样。换了各种LCT姿势,一直TLE。
BraketBN
·
2016-02-24 19:00
并查集
【
BZOJ2049
】[Sdoi2008]Cave 洞穴勘测【Link-Cut Tree】
就不发题意了...LCT模板题,和http://www.spoj.com/problems/DYNACON1/一样,但是不卡常数。并查集做法见:http://blog.csdn.net/braketbn/article/details/50733104数组:#include #include usingnamespacestd; constintmaxn=100005; intn,m,son
BraketBN
·
2016-02-24 19:00
tree
Link-Cut
[
BZOJ2049
] [Sdoi2008]Cave 洞穴勘测
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=2049题目大意支持删边+连边+查询是否连通题解LCT~const maxn=10050; var son:array[0..maxn,1..2]oflongint; fa,rev:array[0..maxn]oflongint; i,j,k:longint; n,m,a,b:longint; c
slongle_amazing
·
2016-02-21 21:00
Link-Cut-Tree题目泛做(为了对应自己的课件)
题目1:
BZOJ2049
洞穴勘测1#include 2#defineL(x)c[x][0] 3#defineR(x)c[x][1] 4 5usingnamespacestd; 6 7constintoo
Provence_By_Sigma
·
2016-01-27 20:00
bzoj2049
: [Sdoi2008]Cave 洞穴勘测
题目链接
bzoj2049
题意初始时给定一个n个点的森林,支持3个操作。Connectxy:将x与y间连一条边。保证连边之后任然是一颗树。Destroyxy:将x与y间的边删去。保证x与y有边相连。
zmh964685331
·
2016-01-10 19:00
LCT
【
bzoj2049
】[Sdoi2008]Cave 洞穴勘测 动态树
Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径。洞穴都十分坚固无法破坏,然而通道不太稳定,时常因
LOI_DQS
·
2016-01-04 10:00
动态树
lct模板
frompopoqqq指针版
BZOJ2049
洞穴勘测#include #include usingnamespacestd; structnode{ node*fa,*lc,*rc; boolrev;
Quack_quack
·
2015-12-08 22:00
LCT
【
bzoj2049
】洞穴勘测 lct
好久不更了。但是学新算法,就算做作业时间再紧张,也要记一下。 初学lct。几个要点提一下 1.同一个联通块是同一棵。不是一个splay或者一条链; 2.根节点有很多。刚开始打还想着用变量rt我是傻了吗; 3.那个access还算好理解。关键是代码里面那个rever是把x变为x所在树(不是splay)的根节点,理解了好久; 差不多就这么多了吧。代码是抄hzwer黄学长的。orz~
lych_cys
·
2015-11-28 11:00
splay
LCT
【
BZOJ2049
】【LCT】Cave 洞穴勘测
Description 辉 辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通 道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些 通道则被称之为这两个洞穴之间的一条路径。洞穴都十分坚固无法破坏,然而通道不
·
2015-11-11 19:27
ZOJ
【SDOI2008】【
BZOJ2049
】Cave 洞穴勘测
Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径。洞穴都十分坚固无法破坏,然而通道不太稳定,时常因
CreationAugust
·
2015-08-16 13:00
动态树
LCT
上一页
1
2
下一页
按字母分类:
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
其他