这道题目其实就是上面一道“超级英雄”
这里将属性作为左部,装备作为右部就好了
其实我最开始是没有想到的,因为我一直在想把某一个对象作为二分图的节点
这道题目就启发我们,其实不是非要把一个对象作为二分图的节点的,我们还可以把两个对象分别作为二分图的左右部来考虑
另外这道题目的\(N\)非常大,我们需要改善一下匈牙利算法,就是将\(vis\)数组改成\(int\)类型,然后在每次dfs的时候多加一个参数\(t\),表示这是第几次dfs,然后在dfs里面判断\(vis\)是否等于\(t\)即可,这样就可以省去for循环的第一句memset了
然而时间复杂度感觉还是不对啊?洛谷讨论区有人讨论这个问题,等对匈牙利算法的模板理解深入了去看看
另外还有并查集解法,复习的时候做一下
标签:二分,题目,游戏,攻击,作为,dfs,vis,连续,这道 From: https://www.cnblogs.com/dingxingdi/p/18014655