iefnah06

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

题意

有一个 \(n\) 个点 \(m_0+m_1\) 条边的无向图连通图

有一个个变量 \(x\),其中 \(m_0\) 条边的权值是 \(k_i+x\)\(m_1\) 条边的权值是 \(k_i-x\),且如果只保留 \(k_i+x\) 的边或者只保留 \(k_i-x\) 的边,图依然连通

\(q\) 次询问,每次给出 \(x\) 的值,询问最小生成树权值

解法

一些观察:

  • 因为两个图分别连通的条件,最后的 MST 中的边一定来自于 \(k+x\)\(k-x\) 的图里的 MST 上的边
  • \(x\) 无穷小的时候一定是全选 \(k+x\) 的边,随着 \(x\) 的增大渐渐替换成 \(k-x\) 的边
  • 考虑从小到大加入 \(k-x\) 的边(如果两条 \(k-x\) 的边产生的环有边相交,\(k\) 小的那个会先替换),可以算出换掉环上最大边的时间

然后用 LCT 维护路径最大值即可

实现

https://ideone.com/o0uvmX

posted on 2020-05-29 16:24  iefnah06  阅读(118)  评论(0)    收藏  举报