虚树
samjia2000
I swear...
We are INFINITE.
展开
-
【HNOI2014】世界树
题目大意有一棵有n个点的树,给出q组询问,每组询问有mim_i点,称之为关键点,每组点的个数和(即∑q1mi\sum_1^qm_i)与n同阶,每个树上的点被与其距离最近的关键点控制,求每个关键点控制了多少个点。虚树希望我能写出通俗易懂的东西来让读者理解 虚树就是只与关键点有关的树,一个点被置于虚树中当且仅当该点为关键点或该点为某两个关键点的公共祖先(纯属个人理解,如有疑问可评论或私信),那么按照这原创 2016-07-04 11:12:23 · 490 阅读 · 1 评论 -
hihocoder 1381 Little Y's Tree
Problem有一棵有n个节点的树,每次询问删掉k条边后剩下的k+1个联通块里的直径的和。Solution虚树典型套路,考虑怎么维护每个联通块的直径,显然把树看成有根树的话,每棵树因为子树的边被删掉从而在dfs序上变成了若干块,但是由于删掉一条边只会对其直接的父亲产生1的影响,所以加起来是有O(k)块的,那么就只要用线段树维护一下直径,打起来挺快的,一次过掉。Code#include<iostrea原创 2017-02-22 15:35:05 · 412 阅读 · 0 评论