最标准的最小割算法应用题目。
核心思想就是缩边:先缩小最大的边,然后缩小次大的边,依此缩小
基础算法:Prime最小生成树算法
不过本题测试的数据好像怪怪的,同样的算法时间运行会差别很大,而且一样的代码替换,居然会WA。系统出错的几率很小,难倒测试系统本题会有错误?
懒得继续测试这道题的系统了,反正算法正确,AC。
#include
#include
#include
c...
分类:
其他好文 时间:
2014-07-10 17:09:23
阅读次数:
159
KM算法求的是完备匹配下的最大权匹配,是Hungary算法的进一步,因为Hungary算法是最大匹配的算法,不带权。
经典算法,想不出来的了,要参考别人的。然后消化吸收吧。因为真的很复杂的算法。
我理解算法匹配思想:
1 开始的时候,所有边都记录自己的最优匹配,不管有没有冲突
2 递归循环的时候,如果找不到自己的最优匹配,那么就找次要匹配
3 次要匹配不行,继续找下一个次优匹配,所有...
分类:
其他好文 时间:
2014-07-08 15:10:25
阅读次数:
153
本题是求最小生成树。
给出的是坐标节点,然后需要根据这些坐标计算出各个点之间的距离。
除此就是标准的Prime算法了,能使用Prime的基本上都可以使用Kruskal。
这些经典的算法一定要多写,熟练掌握,否则很难灵活运用的。
而且经典的算法之所以为经典,原因之一是没那么容易自己凭空想象出来的,所以要熟练。
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-07-06 00:22:21
阅读次数:
338
本题分两步:
1 使用Tarjan算法求所有最大子强连通图,并且标志出来
2 然后遍历这些节点看是否有出射的边,没有的顶点所在的子强连通图的所有点,都是解集。
Tarjan算法就是模板算法了。
这里使用一个数组和一个标识号,就可以记录这个顶点是属于哪个子强连通图的了。
然后使用DFS递归搜索所有点及其边,如果有边的另一个顶点不属于本子强连通图,那么就说明有出射的边。
有难度的题目:
...
分类:
其他好文 时间:
2014-06-25 07:19:31
阅读次数:
241