虚树
文章平均质量分 74
空灰冰魂
=NULL
展开
-
【BZOJ3611】【HEOI2014】大工程 LCA单调性 构造虚树
题解:虚树部分参见上一篇博客然后DP部分随便乱搞就过了。代码:#include #include #include #include #define N 1001000#define LOGN 22#define inf 0x3f3f3f3f#define INF 0x3f3f3f3f3f3f3f3fLLusing namespace std;struct K原创 2015-01-09 17:53:58 · 1508 阅读 · 0 评论 -
【BZOJ2286】【SDOI2011】消耗战 LCA单调性(构建虚树)+树形DP
题解:首先我们考虑每次都做一遍树形DP(树形DP自己脑补去,随便乱搞就过了)。显然这是TLE无疑的。所以可以利用LCA单调性构建虚树。思想:我们发现每次树形DP有很多点用不到,但是却需要被扫过,让他们见鬼去吧!实现:我们只对每次扫的图插入本次询问需要的节点,以及它们的LCA。这样询问了m个点,虚树就至多只需要2m个点(so quick)。而插入顺原创 2015-01-09 15:36:02 · 2304 阅读 · 0 评论 -
【BZOJ3879】SvT 后缀树+虚树
SVT什么意思?suffix virtual tree。没有错!后缀虚树好了,下面发一段以前的文字。话说其实后缀数组分治能写,当时想shei了。Vn:啊,水题。一看到“后缀”和这数据范围,肯定后缀数组、后缀自动机、后缀树走起!然后我们可以轻松构造出来一个后缀树,然后每次询问树形DP随便乱搞就能过了。但是这个时候显然会TLE,所以我们可以尝试利用【原创 2015-01-17 16:52:01 · 2823 阅读 · 7 评论 -
【BZOJ3572】【Hnoi2014】世界树 虚树
题解:首先构建虚树,然后在虚树上DP。 过程很简单。 先找出每个虚树节点 ii 旁边最近的询问节点 nearinear_i (因为有一些lca也被加入了虚树所以虚树节点不全是询问节点,呃怕你们不懂,但其实这是废话Qwq。) 然后对于每条链 [l,r][l,r],找出 [nearl,nearr][near_l,near_r] 中点,然后两边随便给一给就好了。。代码:#inclu原创 2015-06-15 19:18:21 · 2421 阅读 · 0 评论