
图论
ThisIsSonic
守得云开见月明
展开
-
洛谷 P1364医院设置(BFS)
洛谷 P1364医院设置(BFS)题目连接 https://www.luogu.com.cn/problem/P1364思路:很多大佬用的是Folyd,个人觉得没必要,就是一个图的广搜而已,稍加处理一下就行了#include "iostream"#include "vector"#include "queue"using namespace std;const int N = 105;vector<int> g[N];int num[N];bool vis[N];int原创 2022-02-04 20:29:07 · 667 阅读 · 0 评论 -
Tarjan强连通分量算法
Tarjan强连通分量算法连通:无向图中,从任意点i可以到达任意点j强连通:有向图中,从任意点i可以到达任意点j弱连通:把有向图看作无向图时,从任意点i可以到达任意点j具体讲解:B站 BV19J411J7AZ(up真心讲的好 强烈安利 我就不丢人现眼了)代码实现:#include "iostream"#include "vector"#include "algorithm"#include "string"#include "stack"using namespace std;c原创 2022-01-18 22:17:35 · 239 阅读 · 0 评论 -
Dijkstra最短路算法(单源最短路)
Dijkstra最短路算法(单源最短路)过程详解:[最短路径问题]—Dijkstra 算法最详解 - zdr0的文章 - 知乎 https://zhuanlan.zhihu.com/p/129373740下面是我的代码模板,因为是稠密图所以选择邻接矩阵int n, m;int g[N][N]; // 邻接矩阵int dist[N]; // 当前点距离起点的最短距离bool st[N]; // 当前点的最短距离是否确定int dijkstra() { memset(dist, 0x3f,原创 2022-01-04 12:33:15 · 286 阅读 · 0 评论 -
拓扑排序C++
拓扑排序对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。说人话,拓扑序列只存在有向无环图,并且要求没有一个节点指向它前面的节点。思路:找到入度为0的点,把这原创 2022-01-02 21:55:48 · 852 阅读 · 0 评论