题意
有一个 \(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 维护路径最大值即可