题目描述n 个点,m条边, q个询问 ,每次输出 x,y的最短距离 思路首先看一个弱化版的给你n个点 ,n-1条边构成一颗树,q个询问,每次输出树上两点x,y的距离 这个题就是一个裸的LCA,lca的dfs完之后可以直接输出 int dis(int x, int y) { return depth[x] + depth[y] - 2 * depth[lca(x, y)]; }这个题 的 1≤ m≤ n+100 也就是说 多出来了100条边 就是 唯一的不同之处 我们先假设用其中的n-1条边构造一颗树,跑一边LCA ,求出q个询问中的 ans[i] = dis(x, y);然后...