树上选两点(使最短)树的直径+bfs

题意: 给你一颗树,让你放两个点,放在哪里的时候任意点到某个最近的消防站最远值最小。 思路: 树的直径类题目。 首先我们想两个点会把整棵树分成两个团,所以肯定会在树的某个链上切开。 而且要切一定切在树的直径上,如果不切在直径上,那有一个团的最场距离不就是(直径长度lenth/2了吗)。 所以我们取出直径,枚举切在哪里。 左右两半边的计算方法是一样的,如下图: 我们先算出直径上每个节点的最长距离,因
相关文章
相关标签/搜索