题目: 1832: [AHOI2008]聚会 解析: 偶尔做做水题挺爽的 两两之间先求出LCA,发现至少有两个LCA是相同的,这个重复LCA也是深度最浅的那个,那我们就选择那个不重复的LCA,因为若选这个重复的LCA的话,这个重复的LCA到另一个LCA的路径会走两遍,反之只会走一遍 三点间的距离就是 \(dis[x] + dis[y] + dis[z] - dis[LCA(x, y)]- dis[LCA(x, z)]- dis[LCA(y, z)]\) 代码: #include <bits/stdc++.h> using namespace std; const int N = 1...