随笔分类 -  图论

摘要:Kuhn-Munkras算法流程: (1)初始化可行顶标的值 (2)用匈牙利算法寻找完备匹配 (3)若未找到完备匹配则修改可行顶标的值 (4)重复(2)(3)直到找到相等子图的完备匹配为止直接附代码 1 bool dfs(int x)//匈牙利算法寻找x的增广路径 以x为根的M的交错树 2 { 3 int y,t; 4 visx[x]=true; 5 for(y=0;yt)22 slack[y]=t;23 }24 }25 return false;26 }27 //外层的匈牙利算法需要O(2)的... 阅读全文
posted @ 2013-08-19 22:09 蛋丁 阅读(542) 评论(0) 推荐(0)
摘要:这题与裸的二分图最小路径覆盖的区别是结点可重复走,从而变为了传递闭包的最小路径覆盖。具体做法是用floyd将凡是能连通的结点都标记为能直接走到,然后建一条边,最后用最小路径覆盖做就行了~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 //#include 13 #include 14 #include 15 #include 16 #define INF 0x7fffffff... 阅读全文
posted @ 2013-08-19 03:57 蛋丁 阅读(213) 评论(0) 推荐(0)
摘要:这题一开始以为可以直接套最大独立集模板,结果发现样例都过不了。看了discuss后有人说是n-m/2,因为要去掉搞基的= =瞬间吓尿了,到现在还不知道他怎么看出来的。反正我的想法是因为题目输入使配对重复,即A和B搞暧昧与B和A搞暧昧是一样的,故求出最大匹配后要除二。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 //#include 13 #include 14 #inclu... 阅读全文
posted @ 2013-08-18 15:07 蛋丁 阅读(241) 评论(0) 推荐(0)
摘要:题目大意:N块田地M条道路。1为起点,N为终点,FJ从起点走到终点,经过不重复的路(可经过重复的点)再回到起点,求所花费最小时间。建图要点: 1.要求路不重复,则使路的容量都为1. 2.从起点到终点,再从终点到起点,故建立超级源点0超级汇点N+1,建路0-1,N-N+1容量都为2。 3.有重边,所以要用邻接表。 4.无向图,所以每条边都要建立正反两边。又因为一条路可能是从起点到终点时经过,也可能是从终点到起点时经过,所以还要建立反向的正反两边,一共4边。 5.因为此题是无向图,所以建边的时候如果建两条费用都是正的边的话,退流时无法修正费用。 ... 阅读全文
posted @ 2013-08-16 13:12 蛋丁 阅读(388) 评论(0) 推荐(0)
摘要:一、Dinic算法的步骤以及复杂度分析算法步骤: Dinic算法的思想也是分阶段地在层次图中增广。它与最短路径增值算法不同之处是:在Dinic算法中,我们用一个dfs过程代替多次bfs来寻找阻塞流。下面给出其算法步骤: 1、初始化流量,计算出剩余图2、根据剩余图计算层次图。若汇点不在层次图内,则算法结束3、在层次图内用一次dfs过程增广4、转步骤2View Code 下面是dfs的过程:p=s;While outdegree(s)>0 u=p.top; if ut if outdegree(u)>0 设(u,v)为层次图中的一条边; ... 阅读全文
posted @ 2013-08-14 14:50 蛋丁 阅读(397) 评论(0) 推荐(0)
摘要:1.floyd算法 (n^3复杂度)基本思想:开始设集合S的初始状态为空,然后依次将0,1,。。n-1定点加入,同时用d[i][j]保存从i到j,仅经过S中的定点的最短路径,在初始时刻,d[i][j] = A[i][j]中间不经过任何节点,然后依次向S中插入节点,并进行如下更新d(k)[i][j] = min{ d(k-1)[i][j],d(k-1)[i][k]+d(k-1)[k][j]}还可以使用一个二维数组path指示最短路径。path[i][j]给出从定点i到j的最短路径上,定点i的前一个顶点代码相当简单,最容易的实现方法:for (k = 0;k =表示求最小值,作为最长路,=构图时类 阅读全文
posted @ 2013-08-14 14:41 蛋丁 阅读(457) 评论(0) 推荐(0)