图论
wjsay
白色的蜻蜓,在空中忘记了飞行。
我的 github ID: zzuwenjie
展开
-
最小生成树,MST,Prim算法,poj2485
最小生成树prim算法,参考严蔚敏的《数据结构C语言版》和郑州大学的课件HighwaysTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 30366 Accepted: 13815DescriptionThe island nation of原创 2017-04-01 15:50:54 · 683 阅读 · 0 评论 -
深度优先搜索,DFS,UVA572,连通分支数
例题链接=>UVA572图论之DFS,一向是惧怕图论的,所以一直没贴过关于图的代码。时间复杂度O(m*n),其中m, n 为邻接矩阵的行数和列数,下面代码中的dfs()函数用于找无向图中的连通连通分支数。#define _CRT_SECURE_NO_WARNINGS#include #include const int maxn = 100 + 5;char pic[maxn]转载 2017-04-05 13:22:36 · 326 阅读 · 0 评论 -
最少换站问题
n个地点间有多条地铁线。求最小换站次数。思路:给每一条地铁线增加一个汇点(连通该条线上的所有站点)。图建好后就是宽度优先搜索了。例题:郑轻玲珑杯2130: hipercijevi下面代码用前向星实现,点实在太多了。里面那个内联函数是为了提高读取速度的。若把read()换为scanf()。速度由600ms变为900ms(仍然可以 )#include #include #incl转载 2017-04-29 17:51:46 · 351 阅读 · 0 评论 -
spfa 快速最短路-队列优化
spfa 快速最短路-队列优化,可以用 hdu2544 验证算法的正确性里面的spfa算法摘自ardart 的板子。把这个函数记录在网上,以免忘记。我再理解下。#define _CRT_SECURE_NO_WARNINGS#include #include #include #include using namespace std;const int maxn = 1e4原创 2017-05-20 13:34:56 · 358 阅读 · 0 评论 -
Lowest Common Ancestor 最近公共祖先 过了初 中级测试,附:国外大神满分简洁代码
LCA:最近公共祖先,对于有根树T的两个节点u,v,最近公共祖先LCA(T,u,v)表示一个节点x,满足x是u,v的祖先且x的深度depth尽可能大。https://www.codechef.com/LTIME14/problems/TALCA终于把LCA这棵树给调试好了,在错误中不断修改,用了新学的离线操作,还有前向星存图 也只帮我过了中级测试,高级测试TLE,因为没有发现其中的技巧原创 2017-07-19 21:59:15 · 507 阅读 · 0 评论 -
hdu5273 Abandoned country 最小生成树 概率 Kruskal算法 前向星存图
有图 Abandoned country题目大意:有n(n因为n很大所以用kruskal求最小生成树求出最小花费,然后dfs搜索回溯的办法找到所有情况每条路用过的次数并求出总花费,用总花费除以所有可能发生的次数(n*(n-1)/2)就是我们要求原创 2017-07-31 17:34:13 · 381 阅读 · 0 评论 -
最小生成树
无向图,最小生成树MST,节点有1到n,PRIM算法,O(n^n)#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #include #include #include #include #include #include #include #in原创 2017-04-12 11:54:09 · 284 阅读 · 0 评论 -
深度理解链式前向星
摘自ACDreamers,略加改动我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了.用len[i]来记录所有以i为起点的边在数组中的存储长度.用head[i]记录转载 2017-04-29 15:01:53 · 456 阅读 · 1 评论 -
dijkstra算法,单源最短路径算法,含记录路径
v0为源点,N为邻接矩阵的阶,edge为邻接矩阵,maxn为常量,path用来保存路径节点的前驱,D用来保存最短路径权重和。顺便说一下,严蔚敏的数据结构中的这个算法只能保存最短路径上的节点,并得不到先后顺序。//从某个点到其余各点间的最小距离void dijkstra(int v0, int N, int edge[][maxn], int path[], int D[]) { for (原创 2017-03-19 22:55:04 · 886 阅读 · 0 评论 -
ZZU15级软工最后一次算法作业
由于高考改卷要占用我们学校的机房,所以我们的上机课就停了。助教让我们在POj上做 1521 1751 3032 (这都是超链接)这三道题。然而,对于多数不搞ACM的同学来说,刚做OJ试题,有些难度。确实有点难为大家了。对于多数萌新来时,第一次看见英文题目描述,可能已经开始瑟瑟发抖了,。不过没关系,这很正常。我刚开始做题时,a + b就通过不了。但是对于ACM或者OI老司机原创 2017-05-29 19:13:46 · 650 阅读 · 0 评论 -
Tarjan算法 计算有向图的强连通量(可作为模板)-------CCF CSP 高速公路
CCF CSP竟然出了道模板题。Targan算法计算有向图的强连通分量,时间复杂度O(n + m)。对于这个模板,得懂得每个变量和数组的含义,才能灵活运用模板。scc为强连通分量。num[]为各个强连通分量包含的点数。对于该题,计算出num[]后,对于num[]大于等于2的强连通分量点数累加一次组合数C(n, 2)就可以了。静态前向星存图,这个targan算法摘自上海大学ACM的模板。原创 2017-09-15 21:11:38 · 924 阅读 · 0 评论