hdu 3394(点双连通)

本文介绍了一种解决无向图中冲突边和不需要边计数的方法。通过求点双连通分量(块),统计块内点数与边数的关系来判断。若点数大于边数,则边为不需要边;反之,则为冲突边。文章还讨论了使用Tarjan算法求解过程中的一些注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3394

思路:题目的意思是要求无向图中的冲突边和不需要边的条数,如果一个块中有多个环,则该块中的每条边都是冲突边,而不能形成环路的边则为不需要边。于是我们可以求点双连通分量(块),统计一个块中点数与边数的关系,如果点数大于边数,则为不需要边,如果点数小于边数,则为冲突边。需要注意的地方:Tarjan求点双连通分量的时候,将块出栈时,只能出到u的子节点v为止,因为u作为割点极有可能是该块与别块公用的,这样若是每次都出栈到u,则会破坏其他块。

http://paste.ubuntu.com/5957032/

 

转载于:https://www.cnblogs.com/wally/p/3242315.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值