1.题目描述
2.分析
1.对于原图,我们可以知道,若要回到节点1,每一条边至少经过两次(来一次,去一次),所以此时$ans=(n-1)*2$
2.不妨设$L_1$为第一条路径长,$L_2$为第二条路径长,当$k=1$时,从贪心的角度来考虑,肯定是要将距离最远的两个点连接在一起
3.若要找出距离最远的两个点,这两个点肯定是树的任意一条直径中的两个端点
4.当我们将这两个点连接时,显然会形成一个环,此时$ans=(n-1)*2-L_1+1$
5.故当$k=2$时,连接两个点$(u,v)$之后,又会形成一个环
6.此时存在两种情况:
1°两个环没有重叠部分
2°两个环有重叠部分
7.对于情况1,树上$(u,v)$之间原有的路径只需经过一次,$ans$继续减小
8.对于情况2,如果我们依然按照$k=1$的情况建立新的路径,则两个环重叠的部分就不会有巡逻车经过,不满足原题要求。
9.所以我们不得不让巡逻车必须经过这些边。
10.最终,我们使得这些重叠的边又经过了两次,此时$ans=(n-1)*2-L_1+1-L_2+1$
原文地址:https://www.cnblogs.com/water-mi/p/9365911.html
时间: 2024-11-03 22:22:38