计算机_算法_图论
文章平均质量分 68
franztao
不想说话
展开
-
网络流模板
#define MAX_V 1111struct edge{ int to; LL cap; int rev;};vectorG[MAX_V];int level[MAX_V];int iter[MAX_V];void add_edge(int from,int to,LL cap){ ed原创 2015-03-12 16:12:27 · 261 阅读 · 0 评论 -
有向图强连通分量_Tarjan
[点连通度与边连通度]在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。类似的,如果有一个边集合,删除这个边集合以后,原图变成多个连通块,就称这个点集为割边集合。一个图的边连通度的定义为,最小割边集合中的边数。[双连通图、割点与桥]转载 2015-03-13 09:59:29 · 430 阅读 · 0 评论 -
网络流_Edmonds_Karp 算法
本文的目标群体是网络流的初学者,尤其是看了各种NB的教程也没看懂怎么求最大流的小盆友们。本文的目的是,解释基本的网络流模型,最基础的最大流求法,即bfs找增广路法,也就是EK法,全名是Edmond-Karp,其实我倒是觉得记一下算法的全名和来历可以不时的拿出来装一装。 比如说这个,EK算法首先由俄罗斯科学家Dinic在1970年提出,没错,就是dinic算法的创始人,实际上他提出的也正转载 2015-03-12 16:19:18 · 382 阅读 · 0 评论 -
最小圆覆盖
最小圆覆盖。神奇的随机算法。当点以随机的顺序加入时期望复杂度是线性的。 algorithm: A、令Ci表示为前i个点的最小覆盖圆。当加入新点pi时如果pi不在Ci-1里那么pi必定在Ci的边界上。 B、再从新考虑这样一个问题,Ci为前i个点最小覆盖圆且p在Ci的的边界上!同理加入新点pi时如果p i不在Ci-1里那么pi必定在Ci的边界上。这时我们就包含了两个点在这个原创 2015-03-12 16:44:52 · 375 阅读 · 0 评论 -
无向连通图的生成树个数
我们知道,每个无向连通图都会有自己的生成树。但是大家更熟悉的,是无向图的最小生成树(MST)算法。本文旨在讨论计算无向连通图的生成树个数的时间复杂度为O(n3)的方法。另外一种时间效率高的递推式方法的讲解在文末附有链接。 我们可以利用矩阵在O(n3)的时间内求出无向连通图的生成树个数。对于一个无向连通图,我们可以根据以下规则列出一个矩阵M:主对角线上的值M(i,i)为转载 2015-03-14 09:27:37 · 9371 阅读 · 1 评论