随笔分类 -  树论——虚树

摘要:III.[SDOI2018]战略游戏 这题我居然能1A,神奇,神奇 本题是老缝合怪了,强行把一个圆方树板子跟一个虚树板子缝到了一起。不会虚树的可以参见笔者的虚树学习笔记。 具体来说,首先我们先建出圆方树出来;然后,再在圆方树上针对给定的点集跑出虚树出来;然后,对圆方树上的圆点数量做一个树上前缀和(本 阅读全文
posted @ 2021-04-06 13:43 Troverld 阅读(56) 评论(0) 推荐(0) 编辑
摘要:VII.[HNOI/AHOI2018]毒瘤 题如其名 先说一下我的思路:跑出任一生成树,关于非树边的点集建虚树,然后在虚树上跑状压DP。非树边最多有 11 条,则非树边点集最大是 22,则虚树大小最大 43,因此状压DP复杂度是 43×243,显然不可 阅读全文
posted @ 2021-04-06 13:37 Troverld 阅读(82) 评论(0) 推荐(0) 编辑
摘要:VI.LOJ#3077. 「2019 集训队互测 Day 4」绝目编诗 神题。 乍一看好像和虚树半毛钱关系都没有呀?没关系,过亿会就有了。 我们不妨先从暴力开始想起。 暴力怎么写?暴力怎么写?加边加边加边,搜就完事了。 没错,这里的暴力就是爆搜——搜出所有环来,然后判断是否有两个环长度相等即可。 但 阅读全文
posted @ 2021-04-06 13:36 Troverld 阅读(580) 评论(0) 推荐(2) 编辑
摘要:V.CF639F Bear and Chemistry 大毒瘤题一道。 先边双缩点缩成森林,再对每组询问建出虚树,再连上边跑Tarjan求边双即可。 是不是很simple?但是相信我,码起来会让你发疯的 代码: #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2021-04-06 13:32 Troverld 阅读(54) 评论(0) 推荐(0) 编辑
摘要:IV.[HNOI2014]世界树 人傻常数大没错了,nlogn还会TLE 首先当然是建出虚树来。 然后,对于虚树中每个节点(不管是否是实点),我们可以DP出管辖它的那个节点,设为fx。这个可以通过二次扫描与换根法在O(k)的时间内通过两次dfs求出,假如你使用ST表求LCA的话。这 阅读全文
posted @ 2021-04-06 13:30 Troverld 阅读(83) 评论(0) 推荐(0) 编辑
摘要:III.[HEOI2014]大工程 仍然建出虚树。 我们考虑设szx表示x子树中实点(即原本点集中的点)的数量,再设fx表示xx子树中某个实点的最长路径,gx则表示最短路径。 我们先考虑求minmax的部分。 对于一个实点,它初始值fx=gx=0 阅读全文
posted @ 2021-04-06 13:29 Troverld 阅读(45) 评论(0) 推荐(0) 编辑
摘要:II.[SDOI2011]消耗战 老套路,我们建出虚树。 这题虚树中的边是带边权的,边权为原树中两点路径中权值的min。这个权值的min可以通过倍增求出。 在建出虚树后,我们就可以考虑DP了。设当前点为xfxxx子树中所有“资源丰富”节点切断的最小代价。 如果$x 阅读全文
posted @ 2021-04-06 13:27 Troverld 阅读(103) 评论(0) 推荐(0) 编辑
摘要:I.CF613D Kingdom and its Cities 建虚树时有几个事是一定不能忘的: 记得将节点按照dfs序排序; 记得将根节点加入虚树; 该清空的一定都得清空。 这题我们就可以使用虚树解决。 首先,我们建出虚树,并给所有节点一个sz,其中只有点集中的节点的sz1(因为虚树 阅读全文
posted @ 2021-04-06 13:25 Troverld 阅读(41) 评论(0) 推荐(0) 编辑
摘要:虚树,是一种针对树上点集的强力运算。它可以在O(klogk)(其中k是点集大小)的时间内,建出一棵包含点集中所有节点,以及其中某些点的lca的树出来。这棵树就被称作虚树。之后就可以在虚树上进行操作了,例如树形DP等。 建出虚树的操作主要是这样的: 我们维护一个栈,从栈顶到栈底构成原树上一 阅读全文
posted @ 2021-04-06 13:24 Troverld 阅读(84) 评论(0) 推荐(0) 编辑
摘要:I.II.[ZJOI2019]语言 一开始看错题,以为同一种语言会被普及多次,然后就成了神题不会做。一看题解,发现自己看错题了,原来是垃圾题。 一个点所能到达的点,只有与它在同一条路径上出现过的点,换句话说就是经过它全部路径的并。 全部路径的并很好搞,就是全部路径端点建出虚树的大小。虚树大小也很好搞 阅读全文
posted @ 2021-04-06 10:21 Troverld 阅读(69) 评论(0) 推荐(0) 编辑
摘要:XV.CF1073G Yet Another LCP Problem 这里记录一下我在思考本题时的一个感悟,即后缀数组与后缀自动机的等价性。 众所周知,SA时有一个常见思路就是针对 height 数组建一棵笛卡尔树。但是,该笛卡尔树,唯一等价于SA针对的串的反串的parent tree。具体可以分别 阅读全文
posted @ 2021-04-01 12:15 Troverld 阅读(76) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示