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)\)(树剖复杂度)

代码在链接里。

posted @ 2021-04-08 19:39  feicheng  阅读(49)  评论(0编辑  收藏  举报