摘要:
XXII.SP16580 QTREE7 - Query on a tree VII 它来了,它来了!LCT树套树的经典题,它来了! 虽然只是LCT套 std::multiset 而已 这题具体过程同QTREE6,不再赘述。唯一有区别的是,这题需要维护的是虚子树中最大值,不具有可减性。 因此,我们采用 阅读全文
posted @ 2021-03-31 16:32
Troverld
阅读(43)
评论(0)
推荐(0)
摘要:
XXI.[ZJOI2016]大森林 论LCT的百种用法系列 这题有几个性质: 1.询问与时间无关。因为只是添加新点,原来点之间的位置关系不变。因此只要询问的两个点都被建出来了,何时进行询问并无影响。 2.操作重叠的部分很多。因为我们不管怎么加点,即使是加原树中没有的点,仍然有原来点之间的位置关系不变 阅读全文
posted @ 2021-03-31 16:30
Troverld
阅读(70)
评论(0)
推荐(0)
摘要:
XX.SP16549 QTREE6 - Query on a tree VI 本题LCT全方面爆破树剖——无论是复杂度、码量、思维难度、代码难度,全都碾压树剖。并且,LCT容易模板化,但是树剖不容易——树剖搭配的线段树因题而异,而LCT只需要把$pushup$和$pushdown$稍微改改就可以直接 阅读全文
posted @ 2021-03-31 16:27
Troverld
阅读(81)
评论(0)
推荐(0)
摘要:
XIX.首都 一句话题意:维护一棵森林,支持查询某棵树的重心以及所有树的重心的异或和。 众所周知,重心有如下性质:将两棵树之间连一条边后,新树的重心在原两棵树重心的连线上。 根据这一性质,我想了半天也没有想出来什么美妙的算法主要还是我splay没学好 首先,这道题正解有两个,一是LCT+启发式合并( 阅读全文
posted @ 2021-03-31 16:24
Troverld
阅读(71)
评论(0)
推荐(0)
摘要:
XVIII.最小差值生成树 这题$m^2$暴力求最小生成树应该是过不去的……估计只有LCT能过去了。 然后就是同IV.[NOI2014]魔法森林一致的方法,排序之后暴力断边连边即可。 注意会有自环!!!虽然我也不知道为什么没判自环算我MLE…… 代码: #include<bits/stdc++.h> 阅读全文
posted @ 2021-03-31 16:23
Troverld
阅读(78)
评论(0)
推荐(0)
摘要:
XVII.[SDOI2017]树点涂色 树剖和LCT学到最后实际上是殊途同归的……就比如说这题,可以用树剖,但是在操作$1$中借鉴了LCT的跳链思想;LCT则因为不能子树修改,按照dfs序需要建出线段树出来,实际上也就是树剖的思想了。 首先讲一下LCT写法。观察到任意时刻,任意一种颜色一定是一条深度 阅读全文
posted @ 2021-03-31 16:21
Troverld
阅读(76)
评论(0)
推荐(0)
摘要:
XVI.二分图 /【模板】线段树分治 本题有两种做法。一是所谓的“正解”线段树分治,复杂度$O(n\log n\log k)$。思路比较简单,敲起来也简单,就是复杂度不太优秀。 代码: #include<bits/stdc++.h> using namespace std; #define lson 阅读全文
posted @ 2021-03-31 16:19
Troverld
阅读(85)
评论(0)
推荐(0)
摘要:
XV.[USACO18FEB]New Barns P 这种东西应该怎么维护呢?这是子树最大值呀。 一种方法是用平衡树(例如 std::multiset )维护轻儿子长度集合。但是这种东西太麻烦,太恶心了。 考虑直径的性质。我们给出两条引理: 引理1:假如有一条直径$(p,q)$,那么树中任意一个点$ 阅读全文
posted @ 2021-03-31 16:17
Troverld
阅读(350)
评论(0)
推荐(0)
摘要:
XIV.[BZOJ3159]决战 你们知道吗!把一行 #define int long long 写在了一行 int 的后面然后 debug 了一整天的崩溃你知道吗!!! 我恨不得罢免了自己! 言归正传。 从某种角度来说,这是我写的第一棵树套树!虽然是邪教般的LCT套splay 首先,除了翻转操作以 阅读全文
posted @ 2021-03-31 16:15
Troverld
阅读(82)
评论(0)
推荐(0)
摘要:
XIII.[TJOI2015]旅游 我至今还记得做毒瘤树剖题和毒瘤线段树题时那一坨坨触目惊心的 pushup 和 pushdown …… 这题是可以用树剖做的。但是,我还是选择了LCT。 在每个节点,我们维护如下值: mx :子树最大值 mn :子树最小值 lmx :从左往右走,最大收益(即要求的东 阅读全文
posted @ 2021-03-31 16:13
Troverld
阅读(60)
评论(0)
推荐(0)

浙公网安备 33010602011771号