天天看点

P2680 运输计划

思考了大概有30min,最后只能得80分。

思考的不够快,考场肯定做不出来。

Sub1

n 2 n^2 n2(50分):

枚举所有路径上,对路径上的边加入该路径链长。

最后枚举所有的边j,经过该边的max-t_{j}和不经过该边的路径的max。对两者取max.

Sub2

m = 1 m = 1 m=1(10分),对路径取个max.

Sub3

序列(20分)

考虑二分答案,对于 > m i d >mid >mid的链长,对其区间进行区间交,求出来的区间里对边取max.

想到这里30min时间到了

正解

同样考虑二分答案。

序列上的方法对这里不再适用。

再考虑树上差分

对于 > m i d >mid >mid的链长的路径,对于路径上的边都+1,设满足这个条件的路径有k个

其他的边不考虑。

如果所有的边的值都没有到达k,则二分值不合法。

其他的,直接遍历所有值到达k的边,然后取max即可。