
图论
文章平均质量分 60
手可摘星辰!!
这个作者很懒,什么都没留下…
展开
-
Tarjan算法 求解有向图强连通分量
一.算法简介Tarjan 算法一种由Robert Tarjan提出的求解有向图强连通分量的算法,它能做到线性时间的复杂度。我们定义:如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(strongly connected components)。例如:在上图中,...原创 2019-04-29 14:28:12 · 339 阅读 · 0 评论 -
次短路
转载:https://www.cnblogs.com/star-eternal/旅行团每天固定的从S城市出发到达T城市,为了省油要求尽量走最短路径或比最短路径长1单位距离的路径,求满足条件的路径条数。如上图:S=1,T=5,则有两条最短路,1->2->5和1->3->5 长度都为6,另外还有一条长度为7, 1->3->4->5输入:第一行一个数...转载 2019-05-19 12:39:31 · 141 阅读 · 0 评论 -
Floyd + 传递闭包
一,Floyd核心:for (int k = 1; k <= n; k++) {//n为节点个数 for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (dis[i][k] + dis[k][j] > dis[i][j]) dis[i][j] = dis[i][k] + dis...原创 2019-05-17 18:21:40 · 794 阅读 · 0 评论 -
2019 山东省赛 ZOJ4124 Median Floyd+ 传递闭包
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4124传递闭包没想到Floyd 还有这种骚操作学到了 我的博客https://blog.youkuaiyun.com/flymoyu/article/details/90298395看完上面的讲解 我想你应该已经会了 如果不会 直接看代码 相信你可...原创 2019-05-17 19:20:28 · 227 阅读 · 0 评论 -
最短路总结 Dijkstra Dijkstra+堆优化 Floyd 单源最短路(Bellman_Ford)SPFA(队列优化)
算法运用到了向前星知识,一种边集数组https://blog.youkuaiyun.com/flymoyu/article/details/90319846Dijkstra 单源最短路---------权值必须非负单源最短路径,Dijkstra 算法,邻接矩阵形式,复杂度为O(n^2)求出源 start到所有点的最短路径,传入图的顶点数,和邻接矩阵 mp[][]返回各点的最短路径 lowcost...原创 2019-05-18 19:54:54 · 409 阅读 · 0 评论 -
向前星--边集数组
我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了.用len[i]来记录所有以i为起点的边在数组中的存储长度.用head[i]记录以i为边集在数组中的第一个存储位置.那么对于下图:我们输入边的顺序为:1 22 ...转载 2019-05-18 20:21:01 · 1200 阅读 · 0 评论