传送门 思路 显然是树形DP,显然是斜率优化,唯一的问题就是该怎么维护凸包. 套路1:树上斜率优化,在没有这题的路程的限制的情况下,可以维护一个单调栈,每次加入点的时候二分它会加到哪里,然后替换并记录,等从这个点回溯上来的时候再撤销. 套路2:有路程限制时,不能简单替换,因为你可能会替换掉一个下面有用的点,然后WA掉.解决方法是用树状数组维护后缀单调栈,同样要支持撤销. 听着很简单,但代码不是很好写. 代码 第82行少打一个\(dep\)调了一下午,身败名裂-- #include<bits/st…