![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索与图论
pioneer 1
如你所说,成为传奇。
展开
-
Problem I. Magic Potion
题意:有n个英雄,m个怪物,k瓶药水,每个英雄只能选择杀死自己能杀的怪物集合里的怪物,一个英雄能杀死一个怪物,但是如果一个英雄喝了一瓶药水之后,他能多杀一个怪物,一个英雄最多喝一瓶药水。问你这n个英雄最多能杀死多少只怪物。 思路:二分图的经典题,可以利用匈牙利算法解决。因为题目多了可以使用药水的条件,因此我们可以使用两次匈牙利算法来解决这道题,第一次匈牙利算法可以找出每个英雄在不使用药水的情况下最多杀死多少怪物(sum1),第二次匈牙利算法假设每个英雄都有使用一次药水的机会,看看他们又能杀死多少只怪物..原创 2020-11-03 19:48:12 · 245 阅读 · 0 评论 -
匈牙利算法简述
匈牙利算法可以解决二分图匹配的问题。给你一个二分图,左右两边的点互相可能有若干条边相连,问你这些点的最大匹配数量是多少。(每个点最多连一条边) 举一个栗子来说明其原理。有若干个男生和若干个女生想谈恋爱,假设男生具有主动权,每个男生可能对几个女生有好感,现在让你匹配最多的情侣数。 如图,我们看到,1号男生对2、3、4女生有意思,2号男生对2号女生有意思,3号男生对3号男生有意思,4号男生对1号女生有意思。 我们从1号男生开始匹配,先让他匹配2号女生,然后2号男生先考虑2号女生,发现2号女生已经被选择原创 2020-11-03 16:42:28 · 270 阅读 · 0 评论