图论
文章平均质量分 84
james_cil
这个作者很懒,什么都没留下…
展开
-
匈牙利算法
这里有两篇文章;第一:yi原创 2014-07-14 12:32:54 · 792 阅读 · 0 评论 -
二分图匹配---- 二分的真谛
#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define N 1007#define pi acos(-1.0)using namespace std;vector p[N];bool vis[原创 2014-09-03 18:11:20 · 480 阅读 · 0 评论 -
bellman-ford算法
以下是参考的大牛的,可以说是duhoug原创 2014-07-31 15:42:32 · 599 阅读 · 0 评论 -
迪杰斯特拉--- 模板(求最短路径/输出路径/所有路径都可以走的做法)
1.0版#include using namespace std; const int maxnum = 100;const int maxint = 999999; // 各数组都从下标1开始int dist[maxnum]; // 表示当前点到源点的最短路径长度int prev[maxnum]; // 记录当前点的前一个结点int c[maxnum][ma原创 2014-07-19 10:18:13 · 1334 阅读 · 1 评论 -
Dijkstra--POJ 2502 Subway(求出所有路径再求最短路径)
题意:你从家往学校赶,可以用步行和乘坐地铁这两种方式,步行速度为10km/h,乘坐地铁的速度为40KM/h。输入数据的第一行数据会给你起点和终点的x和y的坐标。然后会给你数目不超过200的双向地铁线路的站点,你可以从一个站点乘坐地铁到下一个站点,你可以在同一线路上乘坐地铁经过不同的站点,在不同线路的站点之间,你只能用步行的方式。让你求利用你可以利用的方式,求解到校花费的最短时间。原创 2014-08-05 16:15:43 · 641 阅读 · 0 评论 -
差分约束----原理其实很简单
一直不知道差分约束是什么类型题目,最近在写最短路问题就顺带看了下,原来就是给出一些形如x-y好神奇的是这类问题竟然可以转换成图论里的最短路径问题,下面开始详细介绍下比如给出三个不等式,b-a由题我们可以得知,这个有向图中,由题b-a根据以上的解法,我们可能会猜到求解过程实际就是求从a到c的最短路径,没错的....简单的说就是从a到c沿着某条路径后把所有权值和原创 2014-08-04 09:25:54 · 552 阅读 · 0 评论 -
并查集--(初学,入门)
并查集:这里只讲一下我的理解;原创 2014-08-03 20:54:17 · 559 阅读 · 0 评论 -
prim
A - Agri-NetTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64uSubmit Status Practice POJ 1258DescriptionFarmer John has been elected mayor of his town原创 2014-08-02 12:33:36 · 667 阅读 · 0 评论 -
SPFA 原理剖析代码实现分析比较
参考http://www.nocow.cn/index.php/SPFA%E7%AE%97%E6%B3%95原创 2014-08-02 09:50:52 · 804 阅读 · 0 评论 -
HDU 1874 畅通工程续-- Dijkstra算法详解 单源点最短路问题
参考此题Dijkstra算法,一次AC。这个算法时间复杂度O(n2)附上该算法的演示图(来自维基百科):附上: 迪科斯彻算法分解(优酷)problem link -> HDU 1874原创 2014-07-18 20:50:27 · 934 阅读 · 0 评论 -
Dijkstra、Bellman_Ford、SPFA、Floyd算法复杂度比较
参考原创 2014-07-19 11:00:43 · 6156 阅读 · 2 评论 -
Floyd算法(原理|代码实现)
正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点X到B。所以,我们假设Dis(AB)为节点A到节点B的最短路径的距离,对于每一个节点X,我们检查Dis(AX)原创 2014-07-18 22:02:48 · 1851 阅读 · 0 评论 -
Floyd模板(详细操作最基础版)
#include#includeusing namespace std;#define MAX 500#define INFE 1<<20 int N; int map[MAX][MAX],b[MAX],path[MAX][MAX]; //path[i][j]记录路径 void init(){ int i,j; for(i=1;i<=N;i++)原创 2014-07-19 11:21:52 · 2693 阅读 · 0 评论 -
【并查集】 不相交集合 - 并查集 教程(文章作者:Slyar)
最近写了一个多星期的并查集,一瞬间贴出这么多解题报告,我想关于并查集的应用先告一段落吧,先总结一下。在网上看到一篇关于并查集比较好的教程(姑且允许我这么说吧),不转过来是在可惜。献给爱学习的你文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。等价关系与等价类从数学上看,等价类是一个对象(或成员)的集合转载 2014-07-19 09:37:59 · 631 阅读 · 0 评论 -
图论---POJ 3660 floyd 算法(模板题)
是一道floyd变形的题目。题目让确定有几个人的位置是确定的,如果一个点有x个点能到达此点,从该点出发能到达y个点,若x+y=n-1,则该点的位置是确定的。用floyd算发出每两个点之间的距离,最后统计时,若dis[a][b]之间无路且dis[b][a]之间无路,则该点位置不能确定。最后用点个数减去不能确定点的个数即可。题目:Cow ContestTime Li原创 2014-07-18 21:53:20 · 1201 阅读 · 0 评论 -
迪杰斯克拉--双权值
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3790题意:给你n个点,m条无向边,每条边都有长度d和花费c,给你起点s和终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。分析:本题是双重权值的最短路径问题,当然最法跟一般的最短路做法差不多。原创 2014-07-19 10:04:55 · 1234 阅读 · 0 评论 -
图论 Kruskal算法 并查集
#include#include#include#include#includeusing namespace std;#define MAX 80000int father[MAX], son[MAX];int v,v2, l;struct Kruskal //存储边的信息{ int a; int b; int value;};bool cmp(const Kr原创 2014-11-16 13:07:07 · 551 阅读 · 0 评论