LCT
fyc_kabuto
一个蒟蒻程序员
展开
-
bzoj 3669: [Noi2014]魔法森林
题意:在无向图中找一条1到n的路径,使其中max{a}+max{b}max\{a\}+max\{b\}最小。题解:lct+类似最小生成树。 首先假如这只有一个参数,那么就是水题了。 但是有两个参数,考虑按a值排序,每次将a值相同的边加进去,然后计算答案。 那么怎么知道此时1到n的最小的最大b值呢? 用lct维护一个类似最小生成树的东西,对于一条边,都看作一个点,边权做点权,向他原来连接的点连原创 2017-09-03 21:53:25 · 243 阅读 · 0 评论 -
bzoj 2049: [Sdoi2008]Cave 洞穴勘测
题意:要求维护一个森林,支持加边删边,询问两点是否相连。题解:LCT入门题(话说高一了LCT都不会) 看一下定义,这题还挺简单的。 rotate不能错。 一些不同点注意一下。 code:#include<cstdio> #include<cstring> #include<iostream> #include<cstdlib> using namespace std; struct trno原创 2017-08-22 15:48:30 · 235 阅读 · 0 评论 -
bzoj 2555: SubString
题意:在线增加末尾字符,在线询问子串出现次数。题解:lct维护sam的right。 link时把x到根的路径标记一下,cut时也标记一下。 自己YY的竟然能A。 话说我的lct好慢啊。 code:#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> using namespace std; struct原创 2017-08-26 18:30:51 · 319 阅读 · 0 评论