【题解】Solution Set - NOIP2024集训Day50 图的连通性相关
【题解】Solution Set - NOIP2024集训Day50 图的连通性相关
https://www.becoder.com.cn/contest/5618
「JSOI2012」越狱老虎桥
简述题意:
题目大意:给定一张图,A 先添加 \(1\) 条边,B 再删去一条边使得图不连通,A 要最大化删除边的权值,B 要最小化删除边的权值,问最终的权值是多少。
显然,B 删去的一定是桥。我们先边双缩点,A 加入的边会让树上的任意一条链上的边全部失效。
然后 A 一定会去让这条链覆盖到所有较小的边。
先从小到大加入那些在有祖孙关系的边,直到不存在的时候,最终链的 lca 也就出现了。
接着从小到大加入剩下的边,动态维护满足满足当前这些边的最小的链。加边就是看当前的链的两端中的某一端的子树中包含了新加边,如果满足就将这个端点移动到新加边的两端深度较大的一段。
20min
https://www.luogu.com.cn/record/182064341
实力!!一遍过(原数据)🤣
问题在于后面加入的时候没有判是不是在当前链中间。然后就过了。
看了一下第一篇题解。
稍微会简单一点,她直接钦定最小边的一个端点为根,最终的链如果有拐点也一定是根节点,这样就好维护些。
对应我的代码里面,其实相当于就是直接把 92 行中的 \(d\) 直接令作最短边的一段,并当作根节点。