感觉又开了一个天坑真是开心... 还是先贴神犇链接补充阅读吧: http://lazycal.logdown.com/posts/202331-bzoj3572 http://www.cnblogs.com/wuyuhan/p/5521249.html 例题 bzoj3572 世界树 ...
概念: 给出一棵树. 每次询问选择一些点,求一些东西.这些东西的特点是,许多未选择的点可以通过某种方式剔除而不影响最终结果. 于是就有了建虚树这个技巧..... 我们可以用log级别的时间求出点对间的lca.... 那么,对于每个询问我们根据原树的信息重新建树,这棵树中要尽量少地包含未选择节点. 这棵树就叫做虚树. 接下来所说的 树 均指虚树,原来那棵树叫做 原树 . 构建过程如下: 按照原树的d ...
2016-07-04 09:26 2 5964 推荐指数:
感觉又开了一个天坑真是开心... 还是先贴神犇链接补充阅读吧: http://lazycal.logdown.com/posts/202331-bzoj3572 http://www.cnblogs.com/wuyuhan/p/5521249.html 例题 bzoj3572 世界树 ...
虚树 虚树看起来很简单的样子。 事实上也的确很简单。 我们先来知道一下虚树是用来干什么的。 对于一个问题,我们知道他可以做树型\(dp\) \(dp\)的类型大致是给你\(k\)个关键点,而\(dp\)的结果与这些关键点有关系 有\(m\)组询问,需要你对于每组询问进行回答。 并且有 ...
orzYCB 虚树 %自为风月马前卒巨佬% 用于优化一类树形DP问题。 当状态转移只和树中的某些关键点有关的时候,我们把这些点和它们两两之间的LCA弄出来,以点的祖孙关系连成一棵新的树,这就是虚树。 容易证明,如果关键点数量为\(m\),则虚树点数不超过\(2m\)。 虚树的构建 dfs原 ...
鬼知道为什么我又要开这个新坑,就挺离谱的。 虚树这东西是在订正模拟赛题目时遇到的,正解需要这个东西,但是我不会... 然后去学了一下感觉这个东西本身也不是很难,当然需要结合着题目来讲,就会很容易懂了。 我们引入一道例题,并配合题目进行讲解。 CF613D Kingdom and its ...
虚树算法其实原理蛮简单的就是,从一颗n个结点的原树上在只取出必要结点成一颗新树,这颗新树必包含指定m个结点并保持原树上的祖孙关系。 首先我们来解答一些问题 问:什么样的结点是必要的呢?? 答:指定的m个结点和 这m个结点中任意两个结点的最近公共祖先。 问:为啥要包含最近公共祖先呢? 答 ...
虚树 虚树的定义 虚树:将树上有用的节点建立新的图,而舍去关键节点之间的没有用处的节点 虚树的用途:对于一些有关键点的图而言,其余没有用处的节点在操作的时候会作出很多的冗余操作,时间效率大大降低,而利用虚树建图就可以舍去没有用的操作 前置知识1:\(dfs\)序 \(dfs\)序,顾名思义 ...
简介 虚树,顾名思义就是不真实的树。 它往往出现在一类树形动态规划问题中。 换句话说,虚树实际就是为了解决一类树形动态规划问题而诞生的! 我们从一道经典的虚树题目入手 [SDOI2011]消耗战 链接:https://www.luogu.org/problemnew/show ...
虚树听起来还是很牛逼的,,,,但是尝试学一下之后发现其实并麻油很难,,,,至少基本的操作还是比较简单的(虽然题目对我来说都还是比较难的QAQ 它可以理解为一棵树的压缩版,就是假如选取一部分点集,此时很多节点都是无用的,但是在做的时候又会做到,复杂度就不对,这个时候就考虑建一棵虚树——也就是重新 ...