P4374 [USACO18OPEN]Disruption P 题解~
\(\text{Description}\)
给定一颗有 \(n\) 个点的树,另给出 \(m\) 条有边权的边。求断掉一条边后能使原树联通的最小边权。
\(\text{Solution}\)
非常有意思的一道树剖题目,我们可以画图理解一下:
接着我们思考断掉一条边,寻找最小的能使图联通的边(这里建议手模一下),我们会发现:
只有当被断掉的边连接的两个点在额外边连接的两点的路径上(也就是形成环)时,这条额外边才有贡献。
举个例子:当断掉 \(1-2\) 这条边时,为了保证 \(1-2\) 之间联通,我们可以选择边权为 \(3\) 的红边,而当断掉 \(1-3\) 之间的边时,我们可以选择边权为 \(3\) 的红边,也可以选择边权为 $5 $ 的红边(因为 \(1-3\) 之间的边和他们都形成了环),而当断掉 \(2-5\) 之间的边时,由于没有红边和他们形成环,所以就无解了。
所以这实际上就是一个树剖模板:区间修改求最小 + 区间查询最小值。
时间复杂度:\(\Theta(n\log^2n)\)(树剖复杂度)
代码在链接里。