Codeforces 这题--真是搞死我了-- 好不容易下定了决心要不颓废,要写题,结果一调就调了十几个小时-- 思路 我们发现在树上做非常不舒服,于是树链剖分之后一次在重链上的移动就可以看做是在dfs序上移动,也就是在序列上走. 于是把时间作为\(x\)轴,dfs序作为\(y\)轴,那么一次移动就可以看做一条线段. 我们就要找所有线段里面最早相交的交点. 这是一个经典问题.我们在\(x\)坐标上面扫描线,用set维护线段,加入线段的时候求一下和前驱后继的交点,删除的时候求一下前驱后继的交点,一…