次小生成树的判定 CDOJ 1939

该博客讨论了如何判断最小生成树是否唯一的问题,提出了两种方法:通过删除最小生成树的一条边并检查权值是否相等,以及枚举权值相同的边并考虑边的替换。核心在于理解次小生成树可以通过最小生成树删除一条边并添加一条边得到,重点在于处理权值相同的边及其影响。

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

            天才钱和学霸周

有一天,天才钱学霸周闲的无聊玩起了游戏,游戏内容是这样的,现在有nn个城堡 
mm个不同的桥,每一个桥连接着两个不同的城堡,并且已知这mm个桥可以使nn个城堡连通,此外每一个桥都有重量vv。两位大爷需要给出选择桥的方案使得所有城堡被连通,注意两位大爷的方案不能完全相同(至少存在一个桥不相同),已知周大爷优先给出方案(因此钱大爷的方案必须不同于周大爷)。规则很诡异,如果钱大爷的方案中桥的重量之和≤≤周大爷的方案中桥的重量之和,那么钱大爷获胜,反之周大爷获胜。两位大爷都很聪明,他们会给出最优方案。现在你需要计算谁会赢。

Input

第一行输入两个值n(2≤n≤2000),m (n≤m≤200000) 
接下来m行,每一行输入三个值a (1≤a≤n),b(1≤b≤n),v(1≤v≤1018),其中a!=b

Output

如果钱大爷获胜输出“zin”,反之输出“ogisosetsuna” 。

Sample Input

2 2
1 2 1
1 2 1

Sample Output

zin

题意就是判断最小生成树是否唯一。

首先要想最小生成树不唯一就必须要存在权值相同的边。

判断最小生成树是否唯一(求次小生成树)的思路:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值