- 考虑一个点的的值是其子树深度最大值,我们需要动态维护深度最大值
将直径中点作为根,将一个点定为根相当于将其到根的路径上的点的值改为到直径的某个端点的距离
相当于一个点有两个权值,需要区间切换为另一种,用线段树维护即可,
- 神仙题
- 注意到若要将运走,之前的一定全部运走,考虑设计状态表示到,过了小时,花费的最小代价,同时注意到处理的时候,前个点可能的权值只可能是或
记录表示上述两种状态,同时发现需要设计表示在分时,前个点均为的最小花费,考虑转移
当当前点没有爆时,可以直接从转移,同时
枚举之前最后一次被经过的时间
首先需要花费的费用将其清零
然后我们可以通过若干次操作将减小使得它可以渡过剩余的小时,次数的下界是
接着需要花费次使前面的点渡过个小时
同时,