pku 3352 Road Construction(割边,缩点)

本文介绍了一种求解无向图中割边的方法,并利用该方法来确定最少需要添加多少条边使网络成为稳定网络。通过深搜算法找到双连通分量,将网络转化为树形结构,进而得出最优边添加策略。

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

无向图求割边:以任一节点为起点,深搜,记录每个节点第一次访问的时间DFn,同时记录当前节点不经过其父节点能够访问DFn值最小的节点low。假设a是b的父亲,如果low[b]<=DFn[a],则说明a和b除在同一双连通分量,否则(a,b)是割边,a和b处在不同的双连通分量。

题目:给定一个网络,求最少增加多少条边,可以使这个网络成为一个稳定的网络(网络中任意一个节点坏掉,整个网络仍然保持连通)。

算法:找到割边,获得双连通分量。将同一双连通分量内的节点缩成一个节点,则整个网络变成了一棵树。通过推理可知,把这颗树的叶节点连接起来是最好的方案,需要(leaf%2?(leaf+1)/2:leaf/2)条边。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值