这应该是一个简要的题解,由于作者时间有限,我大概描述一下思路,便于自己的回忆,希望能带给大家一些帮助!A题是一个树上问题,我们发现每条边理论是走两遍的,因此我们需要找出直径尽可能让他少走的距离更多于是我们发现和一个点距离最远的也是这个直径的端点,我们预处理树上倍增维护距离就可以!B题是一个dp题,我们找到偏序关系,然后用树状数组维护,或者我们直接分治也可以!C题是一个状压dp,和一个最短路,我们只需要根据关键点求最短路,然后最短路可以用dij或者spfa,然后剩下的我们状压之前的状态!D题这题我们可以有一种直接线段树的做法,然后只要维护区间max和min就可以,但是也可以用莫队维护,莫队需要我...