题意:给你一棵树包含n个顶点,和n-1条边。在这棵树的基础上再加一条边。求树上两个顶点之间的距离。 题解:其实有题意我们很容易想到要求两个顶点之间的LCA,从而间接求解两个顶点之间的最短距离。1.首先我们考虑不做缆车,那就是求dist(x,y)2.我们在考虑做缆车的情况,但是有分两种情况2.1从x走到u做缆车,dist(x,u)+dist(v,y)2.2从x走到v做缆车,dist(x,v)+dist(u,y)综上,ans=min(dist(x,y),dist(x,u)+dist(v,y),dist(x,v)+dist(u,y)) 代码: #include <bits/stdc++.h&g...