
动态树
ylsoi
这个作者很懒,什么都没留下…
展开
-
[Hnoi2010]Bounce 弹飞绵羊——Link_Cut_Tree
暴力分块的做法请点这里题目大意:Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonkey可以修改某个弹力装置的弹力系数,任何时候弹力系数均为正整数。 bzoj传送...原创 2018-04-08 16:24:32 · 254 阅读 · 0 评论 -
[NOI2014]魔法森林——动态加边最小MST
动态加点spfa点这里题目大意:给定一个图,每条边有两个权值,ai和bi,求一条路径使得这条路径上的边的amax+bmax 最小。思路:若只有一种权值,求出此图的MST后即可得到答案,考虑两种权值的情况,可以从小到大枚举一种权值,并按照第一种权值从小到大的顺序动态加边维护MST,用lct维护即可。 考虑如何将边权在lct中表示,我们可以将每一条边表示成一个点,连接这条边...原创 2018-04-09 11:01:15 · 408 阅读 · 0 评论 -
[WC2006]水管局长——Link Cut Tree加边维护MST
题目大意:给定一个图,有两种操作,一种询问从x到y的路径中经过的边的最大值得最小值,第二种操作删除一条边。思路:离线操作,反着来做,每次加边询问环上面最大的边是否大于新加的边,若是删掉此边加入新边。#include<iostream>#include<algorithm>#include<cstdio>#include<cst...原创 2018-04-09 16:11:38 · 251 阅读 · 0 评论 -
[Hnoi2017]单旋——lct维护路径长度
题目大意:给定一颗单旋的spaly,有5种操作,每次询问操作节点的深度。传送门思路:由于单选得是最小值或者最大值,所以不难发现,最小值或最大值到根的路径必定全部都是左旋或右旋,手玩几组就会发现变化的点实际上不是很多,这样对于这个点的的单旋就可以直接暴力连边。对于插入这个操作,我们考虑平衡树的一个性质,即每一个点在插入的时候都是插入到前驱的右儿子或者是后继的左儿子,所以我们又要支持一个查...原创 2018-04-10 20:15:40 · 404 阅读 · 0 评论 -
[bzoj2959]长跑——lct动态维护边双信息
题目大意:某校开展了同学们喜闻乐见的阳光长跑活动。为了能“为祖国健康工作五十年”,同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动。一时间操场上熙熙攘攘,摩肩接踵,盛况空前。 为了让同学们更好地监督自己,学校推行了刷卡机制。 学校中有n个地点,用1到n的整数表示,每个地点设有若干个刷卡机。 有以下三类事件: 1、修建了一条连接A地点和B地点的跑道。...原创 2018-08-11 22:58:04 · 381 阅读 · 0 评论 -
[uoj207]共价大爷游长沙——lct
题目大意:给定一棵树和一些路径的集合,同时树和集合都可以支持在线修改,然后在某一时刻求一条边是否被所有集合之中的路径给覆盖。思路:考虑一个简单的思路,每当添加一条路径,我们就把在这条路径上的所有边的边权都异或上一个随机值,然后对于任意一条需要询问的边,我们只需要判断它的权值是否等于目前所有的路径的权值的异或和即可。当我们的权值很大的时候,出错的概率很低,所以可以近似为正确的。但是树的形态...原创 2019-01-28 18:49:24 · 176 阅读 · 0 评论 -
[bzoj3514]Codechef MARCH14 GERALD07加强版——lct+主席树
题目大意给定一个图,求编号在[l,r]之间的边形成的图的连通块个数。思路考虑一条边什么时候会造成贡献,即这条边相连的两个部分在之前从未连通过,或者是把所有编号小于l的边去掉之后这两个部分未连通。对于第一种情况可以轻松地用并查集来实现。对于第二种情况,对于每一个l,我们需要判断出u,v这两个点的所有路径中是否存在一条路径使得min(id)>=l,如果不存在则(u,v)这条边可以造成一...原创 2019-03-31 17:02:15 · 429 阅读 · 0 评论