随笔分类 -  数据结构->lct

摘要:可以看的LCT板子。 阅读全文
posted @ 2019-07-10 09:16 LiGuanlin 阅读(340) 评论(0) 推荐(0)
摘要:题目描述 题解: 这是一道LCT+期望。 先来看看这道题让求的E是啥。 我们可以发现,将树链压成序列后,第i项对总和产生的贡献为$i*(n-i+1)*ai$。 我们要维护这个东西。 考虑合并两个区间,那么先有$as[x]=as[ls]+as[rs]$; 然后考虑中间那个点,有$as[x]+=a[x] 阅读全文
posted @ 2018-12-24 15:50 LiGuanlin 阅读(137) 评论(0) 推荐(0)
摘要:题目描述 题解: 这是一道数学题。 看一眼会发现暴力跑链会超时。 所以我们需要一些神奇的东西。 泰勒展开: 最后那个东西可以当作无穷小。 所以我们可以提一下: 所以我们用LCT维护树链的$f(x0)$前k阶导数就好了。 还有,这道题卡精,一定要将单点值放在函数里面。 代码: 阅读全文
posted @ 2018-12-24 13:11 LiGuanlin 阅读(182) 评论(0) 推荐(0)
摘要:题目描述 题解: 貌似是LCT的套路题? 就是建主席树,然后每次形成环时将环中的第一条边送给新边作标记。 维护这种恶心东西当然用LCT了。 这道题还不同于裸一点的LCT题。本题要对于每条边新建一个节点(类似圆方树),然后将时间信息放到新建节点上。 最后每次查询只需要查标记小于l的边就行了。 因为标记 阅读全文
posted @ 2018-12-23 18:58 LiGuanlin 阅读(141) 评论(0) 推荐(0)
摘要:题目描述 题解: SDOI SD题。 LCT维护线段树, 线段树维护dfs序。 由于每次修改只是从根到x,我们可以将它理解为LCT的access操作。 然后轻重链信息发生变化时,在线段树上改一下就好了。 LCTaccess板子敲错导致自己做自己爷爷。 代码: 阅读全文
posted @ 2018-12-23 13:36 LiGuanlin 阅读(144) 评论(0) 推荐(0)
摘要:题目描述 题接: 没有任何意义的LCT+SAM。 没有题解 代码: 阅读全文
posted @ 2018-12-15 10:00 LiGuanlin 阅读(140) 评论(0) 推荐(0)
摘要:题目描述:给你n个点和m个操作: 1.链接两个点。 2.查询某点所在树的重心。 3.查询所有树重心的异或和。 其实就是lct维护虚子树,链接时新重心一定在原来的两重心连线上,相当于splay查询区间第k大值(区间中点)。 代码: 阅读全文
posted @ 2018-09-15 07:44 LiGuanlin 阅读(168) 评论(0) 推荐(0)
摘要:题面理解很容易,求树上两颗树节点数之和。 这里需要lct维护虚子树信息。 对于每个节点,我们记录认的儿子和不认的儿子大小之和(s),和不认的儿子大小和(sx)。 在access中,x节点换儿子时,需要对x的sx值加上前任儿子值,在减去现任儿子值。 代码: 阅读全文
posted @ 2018-09-14 15:28 LiGuanlin 阅读(97) 评论(0) 推荐(0)
摘要:题面: 1.树链加; 2.删边加边; 3.树链乘; 4.树链和查询。 还是lct的题。只是标记下传时比较坑。 代码: 阅读全文
posted @ 2018-09-13 20:14 LiGuanlin 阅读(127) 评论(0) 推荐(0)
摘要:lct不保证联通查父亲! lct不保证联通查父亲! lct不保证联通查父亲! (重要的事情说三遍) 代码: 阅读全文
posted @ 2018-09-13 10:11 LiGuanlin 阅读(112) 评论(0) 推荐(0)
摘要:题目描述 辉辉热衷于洞穴勘测。 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这 阅读全文
posted @ 2018-09-12 17:26 LiGuanlin 阅读(111) 评论(0) 推荐(0)