图论
文章平均质量分 58
onlyylno
这个作者很懒,什么都没留下…
展开
-
单源最短路径(C++实现)
图的构造#include <vector>#include <iostream>using namespace std;struct edge{ int to, cost;};const int MAX = 1000;vector<edge> G[MAX]; // 图int V; // 顶点数int E; // 边数void cre...原创 2018-06-03 13:50:57 · 7649 阅读 · 3 评论 -
欧拉路径
欧拉道路中,“进”和“出”是对应的————除了起点和终点外,其他点的“进出”次数应该要相等。换句话说,除了起点和终点外,其他点的度数应该是偶数。因此,如果一个无向图是连通的,且最多只有两个奇点,这一定存在欧拉道路。如果有两个奇点,这必须从一个奇点出发,另一个奇点终止,如果奇点不存在,这可以从任意点出发,最终一定会回到该点(欧拉回路)#include <iostream>#includ...原创 2018-06-09 18:05:47 · 614 阅读 · 0 评论 -
并查集(C++实现)
直接上代码,操作、解释都在里面’#include <iostream>using namespace std;const int MAX_N = 200001;int par[MAX_N];int rank_[MAX_N];void init(int n){ // 初始化 n 个元素 for(int i = 0; i < n; ++i){ ...原创 2018-06-03 16:11:32 · 989 阅读 · 0 评论 -
强连通分量(Tarjan)
#include <iostream>#include <stack>using namespace std;const int maxn = 1001;int map[maxn][maxn];int V, E;int visit[maxn];int instack[maxn];stack<int> s;int dfn[maxn];...原创 2018-09-27 23:33:08 · 153 阅读 · 0 评论 -
二分图匹配(匈牙利算法)
#include <iostream>#include <string.h>using namespace std;const int maxn = 1001;int girl[maxn];int used[maxn];int line[maxn][maxn];int m;// m是顶点的个数// n是能够配对的数目bool find_(in...原创 2018-09-28 00:07:33 · 118 阅读 · 0 评论