codeforces 160D - Edges in MST

题目大意:给定一个10万个点的无向图,求出任意一条边是在3种属性,(1)存在于任意一个mst上 (2)存在至少一个mst上 (3)不存在任意一个mst上。

发现不写题解不长记性啊

仔细分析后发现,如果按照最小生成树的解法,先把边按照边权进行排序,那么这个时候,如果这个边不是存在于所有的mst上面,等价的条件就是和他长度相等的那些边可以和他进行互换。

(1)将边按照边权进行排序,一次取出所有长度一样的边进行处理

(2)如果一条边的两个顶点发现已经是一个集合了,那么肯定是没法互换了,因为要保证最小,把剩下的边取出。

(3)剩下的边进行双连通,求出桥,可以证明桥就是存在于任意一个mst上,其他非桥边存在于至少一个mst上面。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值