题目大意

题目链接

PS:可能出题人为了提高难度故意加了很多废话……实际上题目是很简单的

在一棵树上找3个点A、B、C,使AB+BC最大,且满足AC>AB。

样例输入

4 3
1 2 1
2 3 1
3 4 1

样例输出

4

思路

从一个点出发,找到两条路径,使路径和最大,那么肯定其中一条是树的直径。

设AB是树的直径,剩下直接枚举,找到一个离直径端点最远的C点。

(A、B、C只是个符号而已,可以随便互换的)

不过还有一个条件是AC>AB,所以枚举的时候,选AC和BC里小的作为第二条路径。

比如AC大,就选BC,此时的路径就是B→A→C,满足AC>AB。

这样此题就完成了,先找出直径,再对直径起点和终点跑出对每个点的路径长度,然后计算答案。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
  • 2021-07-08
  • 2022-01-01
猜你喜欢
  • 2022-12-23
  • 2021-06-13
  • 2021-08-09
  • 2022-01-02
  • 2022-12-23
  • 2022-12-23
  • 2022-02-17
相关资源
相似解决方案