摘要:
序: 在之前的文章中实现了不利用STL实现EK算法,效率也较高。这次我们企图简化代码,减少变量的使用与手写模拟的代码。 注意:vector等STL的container在不开O2优化的时候实现同一个效果普遍比手写要慢。 源代码如下: /* About: Max_flow_EK_vector Authe 阅读全文
posted @ 2017-04-22 22:15
箜瑟_qi
阅读(427)
评论(0)
推荐(0)
摘要:
序: 既然是个图,并且求边数的最大值。那么这就可以转化为网络流的求最大流问题。 只需要将源点与其中一子集的所有节点相连,汇点与另一子集的所有节点相连,将所有弧的流量限制置为1,那么最大流 == 最大匹配。(感谢yulemao大神的指点) 只需要在初始化的时候修改一下,就可以直接用求最大流的算法模板了 阅读全文
posted @ 2017-04-22 16:05
箜瑟_qi
阅读(1201)
评论(0)
推荐(0)
摘要:
背景知识: 什么是二分图? 二分图就是一种特殊的图。这个图可以将整个集合分成了两个子集,满足所有弧都是从其中一子集的顶点射向另一个子集的顶点。同一个子集中的点没有弧相连。 二分图的最大匹配: 二分图的最大匹配就是使两个集合的点尽可能多的一一对应。 本次介绍的是匈牙利算法。 匈牙利算法的原理就是寻找增 阅读全文
posted @ 2017-04-22 15:50
箜瑟_qi
阅读(189)
评论(0)
推荐(0)
摘要:
序: 我们在使用vector的时候可以自定义里面的数据类型。例如这样: struct Edge{ int from; int to; int weight; }; vector<Edge> edge; 使用vector的使用我们有时会用到resize和reserve函数进行内存的分配。在之前的测试中 阅读全文
posted @ 2017-04-22 11:36
箜瑟_qi
阅读(9508)
评论(1)
推荐(0)