圣托里尼的日落啊~的博客

这段时间主要用来记录保研历程~

【拓扑排序】

有向无环图 如果一个有向图的任意顶点都无法通过一些有向边回到自身,那么称这个有向图为有向无环图。 拓扑序 如果图中从VVV到WWW有一条有向路径,则VVV一定排在WWW之前。满足此条件的顶点序列称为一个拓扑序。 拓扑排序 获得一个拓扑序的过程就是拓扑排序。 ...

2019-06-23 15:20:03

阅读数 10

评论数 0

【最小生成树算法】 --Prim算法 poj2485

题目来源:poj 2485 题意: 求最小生成树中的最大边 #include <iostream> #include <string> #include <cstring> using namespace std;...

2019-06-23 14:19:37

阅读数 14

评论数 0

【最小生成树】 -- Prim算法 poj1789

题来源:poj 1789 emmmm…注意松弛条件那和Dijkstra算法区分…WA了好几次… #include <iostream> #include <string> #include <cstring> us...

2019-06-23 14:05:11

阅读数 14

评论数 0

【最小生成树】 --Kruskal算法 poj2031

题目来源:poj 2031 思路: 依次计算两个球体球心之间的距离,如果距离小于或者等于两个球体半径的大小,则设两个球体的距离为0。否则为两个球体球心的距离减去两个球体半径之和。 #include <iostream> #include <algori...

2019-06-23 10:08:00

阅读数 20

评论数 0

【Kruskal算法】 -- poj1287

题目来源: poj 1287 题意: 连通一个图,找最小权值和,有重边 要点: 因为有重边,所以Prim算法还要取最小的边加入,而Kruskal算法可以直接忽略这个问题,因为一开始要排序,大的自动舍掉了。 #include <iostream> #include &am...

2019-06-23 09:01:34

阅读数 18

评论数 0

【最小生成树】 --Kruskal算法 poj 1251

题目来源:poj 1251 #include <iostream> #include <algorithm> using namespace std; const int maxn = 100; const int maxm = 5010; ...

2019-06-23 08:42:48

阅读数 26

评论数 0

最小生成树算法

Prim算法: 从一个根节点开始,让一颗小树慢慢长大。 输入:图G=(V,E,W),V={1,2,...,n}G=(V,E,W),V=\{1,2,...,n\}G=(V,E,W),V={1,2,...,n} 输出:最小生成树TTT 设计思想: 初始S={1}S = \{1\}S={1} 选...

2019-06-22 21:37:13

阅读数 17

评论数 0

【Floyd算法】 -- poj 1125

题目来源:poj 1125 股票经纪人 思路: 先用Floyd算法求出全局最短路径。然后遍历每一行分别求出从1到N作为第一个人开始散播消息所需时间(最长时间),再求出这些所有时间中的最短时间。 #include <iostream> using namespace...

2019-06-18 08:46:48

阅读数 20

评论数 0

【Floyd算法】-- 求传递闭包

题目来源:poj 3660 Cow Contest 题目让确定有几个人的位置是确定的,如果一个点有x个点能到达此点,从该点出发能到达y个点,若x+y=n−1x+y=n-1x+y=n−1,则该点的位置是确定的。用Floyd算法算出每两个点之间的距离,最后统计时,若dis[a][b]dis[a][b]...

2019-06-17 21:20:43

阅读数 29

评论数 0

【全源最短路问题】 --Floyd算法

Floyd算法的时间复杂度为O(n3)O(n^3)O(n3)。因此n的大小不超过200。 题目来源:codeup链接 在本题中,读入一个有向图的带权邻接矩阵(即数组表示),建立有向图并按照以上描述中的算法求出每一对顶点间的最短路径长度。 输入 输入的第一行包含1个正整数n,表示图中共有n个顶点。...

2019-06-17 20:13:23

阅读数 27

评论数 0

【SPFA算法】 -- 差分约束系统

题目来源: poj 3169 Layout 思路: #include <iostream> #include <vector> #include <algorithm> #include <queu...

2019-06-17 19:39:31

阅读数 33

评论数 0

【最短路径算法】 -- SPFA(Shortest Path Faster Algorithm)

SPFA是优化的Bellman-Ford算法 Bellman-Ford算法每轮操作都要遍历所有的边,这其中有许多无效的操作。只有当某个顶点u的d[u]值改变时,从它出发的边的邻接点v的d[v]值才有可能被改变。 SPFA算法的伪代码 queue<int> q; 源...

2019-06-17 10:10:57

阅读数 18

评论数 0

【Dijkstra算法】-- 复杂建图 poj 2502 Subway

题目来源:poj 2502 Subway 思路: 计算任意两个站点之间的距离。但是这里有地铁距离和步行距离,先计算地铁距离,即一条地铁线的点之间所需时间,再计算所有点之间的步行时间,与之前算的地铁距离作比较,取小的那个。 #include <iostream> #i...

2019-06-17 09:49:14

阅读数 14

评论数 0

【Bellman-Ford算法】--判断正环poj 2240套利

题目来源: poj 2240 此题与poj1860相似。 #include <iostream> #include<string> #include <map> using namespace std; const...

2019-06-16 21:43:30

阅读数 23

评论数 0

【Bellman-Ford算法】--判断是否存在正环(求最长路径)

题目来源:poj 1860 #include <iostream> using namespace std; const int maxn = 1010; const int maxm = 110; struct edge { int u; int v;...

2019-06-16 20:37:58

阅读数 47

评论数 0

【有负权边的最短路问题】- Bellman-Ford算法

文章目录Bellman-Ford算法 Bellman-Ford算法 可以解决单源最短路问题 也可以处理有负权边的情况 考虑环 零环和正环的存在不能使最短路径更短; 如果图中有负环且从源点可以到达,那么就会影响最短路径的求解。 ...

2019-06-14 11:52:14

阅读数 40

评论数 0

【Dijkstra变形】-- 通路中最小边

题目来源:poj 2253 Frogger 题目描述: 题目描述了两只青蛙,第一只青蛙向努力跳到第二只青蛙那里去,位置是按坐标给的。中间可能有一些介质石头,我们要计算的是,为使青蛙跳到目的地,其所需要的跳跃距离的最小值。 与这题通路中最大边十分相似 思路: 松弛条件:选取X集合外条约距离最小...

2019-06-10 21:22:04

阅读数 1441

评论数 0

[Dijkstra]--通路中最大边

题目来源:poj 1797 题目大意:有一张无向图,n(1<=n<=1000)个顶点,m条边,没有重边。每条边都有载重限制,求从点1到点n的一条路径,使得载重最大,输出该重量。 解题思路: 首先要注意这道题和网络流最大流问题的区别,初学者可能会有点晕:网络流可以由多条...

2019-06-10 19:43:51

阅读数 30

评论数 0

[Dijkstra算法]--堆优化Dijkstra

这个一直报错 #include <iostream> #include <algorithm> #include <queue> #include <vector> using name...

2019-06-10 18:24:50

阅读数 20

评论数 0

Dikstra +有重边

题目来源:poj 2387 坑:有重边 #include <iostream> #include <vector> using namespace std; const int maxn = 1010; const int INF = 0x3...

2019-06-08 09:44:39

阅读数 16

评论数 0

提示
确定要删除当前文章?
取消 删除