虚树
Wuliwuliii
谁无暴风劲雨时,守得云开见日明!
展开
-
血压游戏【科大讯飞杯G题】【虚树】
题目链接 一开始的时候,我往长链剖分上去写,但是写不好,最后写成了当只有一条链的时候是的惨案了。 然后,开始想别的想法了,于是想(偷窥)到了虚树的做法。 因为,我们可以发现,一个点,向上影响的时候,只有同等深度的才会同时起作用,只要不是同等深度的时候,那么他们的时间就会是错开的,所以,我们可以对深度来进行处理。只有发生这种情况的时候,x和y才会同时影响一个结点,不然的...原创 2020-04-20 22:55:54 · 422 阅读 · 0 评论 -
[SDOI2018]战略游戏【广义圆方树+虚树】
题目链接 P4606 很容易发现一点,题目要我们求的实际上就是我们的新构的树中的,圆点的个数,所以呢,在这里我们可以直接通过先利用广义圆方树来再求一个虚树,我们直接查询虚树就可以完成这个要求了。#include <iostream>#include <cstdio>#include <cmath>#include <string>...原创 2020-02-19 11:28:47 · 334 阅读 · 0 评论 -
[HEOI2014]大工程【虚树+树形DP】
题目链接 还不错,就是理解题意的时候理解的久了一些。题目中的距离实际上是每两个点在原树上的距离,而新建的结点是不会影响的,所以总的距离和是原树上任意两点的距离之和;最短距离呢,实际上就是最短边权了;最长距离,实际上就是新构成虚树上树的直径了,当然得是有效点的。 所以,构建虚树,然后再进行一个树形DP就可以了。#include <iostream>#include &...原创 2020-02-17 15:52:29 · 192 阅读 · 0 评论 -
[HNOI2014]世界树【虚树构建+思维优化码量】
题目链接 这道题,难就难在把思维理清楚了,只要理清楚之后写起来还是比较好写的,尽管码量是真的挺大的。 我们可以给每个点去定义它是被哪个点所控制的。(一)、求每个点是被哪个点所控制的 因为我们建树会得到一棵虚树,所以我们要知道每个点都是由哪个点所控制的,什么叫做控制?就是距离它最近的被选取的点是哪个?如果本身就是,那么就是本身。这个我们可以由两次dfs来实现,第一个dfs求的是...原创 2020-02-16 14:33:34 · 288 阅读 · 0 评论 -
[SDOI2011]消耗战【虚树】
题目链接 有M次询问,又有询问的总的点数之和是小于等于5e5的,所以,其实就是一个虚树的模板了,直接用栈维护一个虚树即可。 期间写的时候出现了一点问题:初始化的时候,不只是要初始那些输入的K个结点,还有K个结点的lca的衍生结点也是需要初始化的,所以初始化不到位会MLE和TLE的,这里不要忘。#include <iostream>#include <cstdi...原创 2020-02-15 11:26:00 · 127 阅读 · 0 评论