题目大意 给定一颗树,要求走过其中连续的k个点,使得步数最少 题解 每条边要么经过两次,要么一次,因为我们的目标就是使得走一次的边尽量的多,这样就转换成求树的直径了,求树的直径我用的是两次dfs,先随便从一个点开始dfs,找出以这个点为根距离它最远的结点,假设为s,然后再从s结点进行一个dfs,距离s结点最远的点与s点的距离就是树的直径(假设为d),最后判断一下k和树的直径的大小,如果k-1小于树的直径,那么直接输出k-1,否则答案就是d+(k-1-d)*2 代码: #include <iost…