LCT
文章平均质量分 68
Jacky35
这个作者很懒,什么都没留下…
展开
-
【雅礼联考GDOI2017模拟9.2】Ztxz16学图论
Description众所周知,Zjr506是算法之神,因此Ztxz16经常向他请教算法。这一天,Zjr506在教导了Ztxz16关于图论方面的一些算法后,给他出了一道图论题作为家庭作业: 给定N个点,M条无向边,Q个询问,每个询问给定L, R,问连上第L~R条边后,图中有多少联通块(询问之间互不影响)。 Ztxz16智商太低,百思不得其解,只好向你请教这个问题。Input第一行输入N M Q原创 2017-01-11 16:10:47 · 460 阅读 · 0 评论 -
【NOI2014】魔法森林
Description为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为1,2,3, … , n,边标号为 1,2,3, … , m。初始时小 E 同学在 1 号节点,隐士则住在 n 号节点。小 E 需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪就会原创 2017-01-09 20:36:05 · 384 阅读 · 0 评论 -
[Hnoi2010]Bounce 弹飞绵羊
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lo原创 2017-04-08 16:39:34 · 713 阅读 · 0 评论 -
LCT模板
int t[N][2],fa[N],rev[N],p[N],c1[N],d[N]; void down(int x) { if(rev[x]==0) return; swap(t[x][0],t[x][1]); rev[t[x][0]]^=1;rev[t[x][1]]^=1; rev[x]=0; } bool lr(int x){return x==t[fa[x]][原创 2017-01-06 20:16:25 · 333 阅读 · 0 评论 -
【GDSOI2017】中学生数据结构题
DescriptionInput第一行有一个整数 N,表示 S 国城市的数量。 接下来有 N-1 行,每行两个数 u,v 表示一条道路。 第 N+1 行为一个整数 Q,表示接下来有 Q 个操作。 接下来有 Q 行,每行表示一个操作,格式如题目描述所示。 Output对于每一个 QUERY 操作,输出一个数,表示询问的当前编号为 X 和编号为 Y 的城市的最短路径间的城市 (包括编号为 X 的城原创 2017-06-25 21:50:28 · 462 阅读 · 0 评论 -
【GDOI2018模拟9.23】动态图
DescriptionInputOutputSample Input5 3 0 1 4 5 1 2 4 3 1 2Sample Output3Solution动态图?用动态树来做 先只考虑离线 所有询问按照右端点排序 按照边从前往后加入 相当于维护一个生成树 如果一条边加入会形成环,那么就替换掉这个环上最早出现的边 为什么是正确的呢? 询问的右端点固定,左端点不同,我的边尽量靠近原创 2017-09-23 16:47:29 · 568 阅读 · 0 评论 -
Link Cut Tree学习小记
LCTLCT几个月前就学了,花了我一整天问Alan_cty才搞会LCT的左右就是维护树上的一些值,和树链剖分有相同的作用,也有超过树链剖分的作用 LCT也就是动态树,意思就是树是会动的,也就是有连边和删边两个操作和链剖一样,边可以分为两种,重边(偏爱边)和轻边。一条重边连起来的是一条链,在同一棵splay中(也就是说有好多棵splay) 这样就会有两种树,我称之为原树和splay splay中原创 2017-05-20 16:05:48 · 341 阅读 · 0 评论