HDU 4786

本题是关于生成树方面,只要白边优先和黑边优先两种顺序做两次最小生成树,得到白边数量的区间。

下面来证明该算法的正确性,不妨考虑白边数量为最小值m的生成树T,我们来证明可以得到白边数量为m+1.


对图中的顶点数目进行归纳, n = 2, 显然成立;

假设n <= k时成立,下面来考虑n = k + 1时


的生成树,考虑T的任意一条黑边,去除这条黑边得到2个联通区域T1(V1),  T2(V2), 如果{V1,V2}的割边有一条白边,替换掉即可。

否则因为存在最大值为M(大于m)的生成树, 必然在某个联通区域,不妨设为T1存在一个生成树T3,满足T3的白边数量大于T1。

下面我们来证明原图G1中必定包含一个白边数量为m(T1)+1的最小生成树, 因为v(T1) <= k, min(G1)  <= m(T1) , MAX(G1) >= m(T3)

由数学归纳法知,G1中一定存在一个白边数目大于等于min(G1)小于等于max(G1)的最小生成树,因为m(T1) + 1 >= m(T1) >= min(G1)

m(T1) + 1 <= m(T3)<=max(G1), 所以成立.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值