MST补充

可能由于昨天是放假第一天,乱七八糟的事情还是挺多的,没准备过来。。。刷着刷着就有事情了,总觉得心里不大安稳,连MST的题目都刷的不多。。。希望今天能好点吧。。。
首先补充MST,然后再开始今天的计划,最短路。

poj2349/zoj1914
大清早的就被恶心了一把,还是模板不太会用的缘故。。。忘记双向边了╮(╯▽╰)╭
Prime就能搞定,Kruskal貌似还要做出一些调整才行。MST最小第k边。

poj1258
被恶心了一个下午之后做的。大水。MST路径和。

poj1751/zoj2048
继续努力吧,这道题目卡了一个下午。。。真心无语了。。。又出现了昨天类似的情况,各种error,最后拿了一个Prime书上给出的样例代码就过了。。。就是一个傻瓜邻接矩阵嘛。。。╮(╯▽╰)╭
输出MST的边。

poj3026
BFS+MST,不难,感觉稍微考了点编码能力吧,不过第一次碰到这题的时候还是感觉略微头大的。
先用BFS求出任意两点的对端路径,然后构建图,最后MST路径和。

poj1679
MST的唯一性。
思路很简单,不管是Kruskal还是Prime,只要选取最短边的时候发现能选取多条权值相等边的情况出现,那么就不是唯一的MST。 Prime是以点为核心求出MST,而Kruskal则是以边为核心求出MST。所以在求MST是否唯一的时候也以这一点作为突破口。
注:蓝皮上面提到了一个非唯一的充分条件:即每个顶点的扩展方式不唯一,但是MST可以不唯一,所以是错的。。。囧啊。。。
正确思路:任意方法够出一个MST,将有相同权值的边去掉,然后继续构造,看是否有相同的MST。这道题目貌似数据不太强,以后再找找有没有类似的题目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值