随笔分类 -  数据结构 - LCT

摘要:题目:https://www.luogu.org/problemnew/show/P4546 先写了个55分的部分分,直接用LCT维护即可,在洛谷上拿了60分; 注意各处 pushup,而且 splay 维护的是一条链但其形态不一定是一条链! #include<iostream> #include< 阅读全文
posted @ 2019-01-11 11:56 Zinn 阅读(198) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4530 用LCT维护子树 size,就是实边和虚边分开维护; 看博客:https://blog.csdn.net/neither_nor/article/details/52979425 代码如 阅读全文
posted @ 2018-12-18 21:41 Zinn 阅读(117) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3779 RELEASE操作可以对应LCT的 access,RECENTER则是 makeroot; 考虑颜色数,把一条实边变成虚边,子树+1,虚变实子树-1; 但有换根操作,怎么维护子树? 也可 阅读全文
posted @ 2018-12-15 23:14 Zinn 阅读(316) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2555 建立后缀自动机,就可以直接加入新串了; 出现次数就是 Right 集合的大小,需要查询 Parent 树上的子树和; 所以可以用 LCT 维护 Parent 树,因为 Parent 树是 阅读全文
posted @ 2018-12-12 10:51 Zinn 阅读(137) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P3690 自己竟然从没有钻研过LCT上的连通性问题! 于是被最后一个点卡了,似乎因为 find 函数只能找出连通性而不能判断有没有直接相连的边; 所以还是直接在 cut 函数里判断一下好了。 (注:第9个点时T时不T 阅读全文
posted @ 2018-06-30 19:34 Zinn 阅读(153) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2157 仍然是LCT模板题~ 不过有一些需要注意的地方,点和边的区分,0号点的 mx 和 mn 等等; 还有变成相反数的处理,要像线段树一样先修改再下传标记,那么查询时候就不用先 pushdow 阅读全文
posted @ 2018-06-29 16:25 Zinn 阅读(120) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1036 LCT水题! 然而没有1A(咬牙)! 注意值有负数,所以取 max 的话要把作为“哨兵”的 0号点 的 max 赋成很小的值才行。 代码如下: 阅读全文
posted @ 2018-06-29 11:50 Zinn 阅读(187) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2594 时间倒序一下,就是 魔法森林 那道题; 有个不解的地方,是 access 里面关于 pushup 的地方,两种写法都可以,但不明白没有注释掉的写法为什么也可以。 代码如下: 阅读全文
posted @ 2018-06-28 18:24 Zinn 阅读(172) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2049 第二道LCT! 这题是模板题,写了一遍以后感觉对LCT的认识又加深了。 代码如下: 阅读全文
posted @ 2018-06-18 23:31 Zinn 阅读(161) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3669 第一道LCT! 主要是看这个博客理解学LCT板子:https://blog.csdn.net/yxuanwkeith/article/details/50991326 关于这道题,又看了 阅读全文
posted @ 2018-06-18 12:28 Zinn 阅读(154) 评论(0) 推荐(0)