题目链接
小美的送花线路
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1ac0065ebbcdcacac11218572b0f1211.png)
题意:
有n个点的一棵树,玩家开始在1号点,要遍历所有的点,使得走过的路程最短。
问:每个点到1号点的 距离和 是多少? 玩家遍历的最短路程是多少?
- 由于玩家行走的路径是有来有回,因此需要简化问题,将行走分为两部分,以c号点为界。可以得到一个结论:去往其他三个方向后都得回来,只有某一个方向是可以一去不返。
- 那么我们可以操控的空间就是:令一去不返这个方向距离 1号点最远。也就是找出距离1号点最远的点u,转化为树上的遍历问题。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/58da74b3ce4b50df124dd40c33ebf9be.png)
定义:一棵树的直径就是这棵树上存在的最长路径(也就是距离最远的两个点相连的路径)。