题意
给一棵树,问一个排列,使得按顺序走过这些点的路径最长。
N<=100000
解法
为了能让每条边被经过的次数达到上界,
我们首先找出重心,
然后容易得出一种排列方案,使得答案为以重心为根的深度和*2。
但由于这不是一条回路,还要减去与重心相连的一条边。
如果重心存在一个儿子的size是点数的一半,那么就减去这条儿子的边权。
否则就挑一个最短的边权删掉即可。
标签:class 方案 log size and 一半 上界 body 解法
给一棵树,问一个排列,使得按顺序走过这些点的路径最长。
N<=100000
为了能让每条边被经过的次数达到上界,
我们首先找出重心,
然后容易得出一种排列方案,使得答案为以重心为根的深度和*2。
但由于这不是一条回路,还要减去与重心相连的一条边。
如果重心存在一个儿子的size是点数的一半,那么就减去这条儿子的边权。
否则就挑一个最短的边权删掉即可。
标签:class 方案 log size and 一半 上界 body 解法
原文地址:https://www.cnblogs.com/hiweibolu/p/8505346.html