Link
Solution
多条直径相交的形态一定是
类似树网的核,求出直径之后,从直径的一端开始走。记一个点到直径左、右端点的距离为,设当前走到的边的左右两点分别为,如果从不走直径的边能走出一条长度为的路径,或者能走出那这个边就不是直径的公共边。
走到第一条公共边开始累加答案,到第一条非公共边break,就可以解出来了。
Tips
树的直径的性质分析用到了很多反证法。有些结论正向思考无法下手,不妨试试能不能把自己举出的反例否掉,以尝试得出反证的思路。
Code
1 | //Code by Lucida |