博客
关于我
【牛客】G Applese 的毒气炸弹(最小生成树)
阅读量:397 次
发布时间:2019-03-05

本文共 378 字,大约阅读时间需要 1 分钟。

Applese 想要配出毒气炸弹,就需要使 S 中含有 1 ~ k 这 k 种元素。它想知道自己最少花费多少脑力可以把毒气炸弹做出来。这个问题可以通过图论中的最小生成树问题来解决。

首先,我们需要将每个试剂类型归类到 k 种元素中。然后,构建一个图,其中顶点是 k 种元素,边是根据给定的 m 条规则连接的。每条规则对应一条边,边的权重是所需的脑力消耗。

接下来,我们需要加入同种元素之间的零成本边,因为可以将任意两瓶相同元素的试剂混合而不需要消耗脑力。这样,当需要连接不同元素时,就需要使用给定的规则,并支付对应的成本。

然后,我们可以使用Kruskal算法或Prim算法来计算图的最小生成树的总权重。如果生成的最小生成树包含所有 k 个元素,则输出总权重;否则,输出 -1。

通过这种方法,我们可以找到将毒气炸弹做出来所需的最小脑力消耗。

最终答案:2

转载地址:http://hwrwz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现打格点算法(附完整源码)
查看>>
Objective-C实现批量修改文件类型算法(附完整源码)
查看>>
Objective-C实现找出一个数的质因数primeFactors算法(附完整源码)
查看>>
Objective-C实现找出买卖股票的最大利润算法(附完整源码)
查看>>
Objective-C实现找出二维数组中的鞍点(附完整源码)
查看>>
Objective-C实现找出由两个 3 位数字的乘积构成的最大回文数的算法 (附完整源码)
查看>>
Objective-C实现找到具有 500 个除数的第一个三角形数算法(附完整源码)
查看>>
Objective-C实现抓包实例(附完整源码)
查看>>
Objective-C实现抽象工厂模式(附完整源码)
查看>>
Objective-C实现拉格朗日插值法(附完整源码)
查看>>
Objective-C实现指定内存空间获取时间的函数(附完整源码)
查看>>
Objective-C实现按位倒序(附完整源码)
查看>>
Objective-C实现按位运算符乘以无符号数multiplyUnsigned算法(附完整源码)
查看>>
Objective-C实现排队叫号系统(附完整源码)
查看>>
Objective-C实现控制NRP8S功率计读取功率 (附完整源码)
查看>>
Objective-C实现控制程控电源2306读取电流 (附完整源码)
查看>>
Objective-C实现摄氏温度和华氏温度互转(附完整源码)
查看>>
Objective-C实现播放器(附完整源码)
查看>>
Objective-C实现操作MySQL(附完整源码)
查看>>
Objective-C实现操作注册表 (附完整源码)
查看>>