2025.11 做题记录
洛谷P4172 [WC2006] 水管局长
我呃呃。
如果没有删边操作,那么就是把图的 mst 拉出来,每次查询路径最大值。
如果有删边,先倒过来变成加边。
每次加边就暴力维护 mst 形态。若当前加的是 \((u,v,w)\),如果 \(u,v\) 不在一个连通块就直接加,否则若 \(u,v\) 路径最大值大于 \(w\),就把最大值那条边删了,加上 \((u,v,w)\)。然后 \(O(n)\) 扫一遍树维护一些信息就行了。
可以用邪恶斜二倍增做 \(O(n)-O(\log n)\) 路径最大值或查询 lca,也很好写。记删边次数为 \(c\),那么时间复杂度就是 \(O((m-c)\log(m-c)+nc+q\log n+c\log n)\),显然能过。那个 \(O(c\log n)\) 是维护删边的复杂度。

浙公网安备 33010602011771号