
图论
Jeniclala
这个作者很懒,什么都没留下…
展开
-
图论专题-并查集 连通性
输入:第一行:结点数n和边数m依次输入边(结点对)输出:还需要几条边使其连通(连通分量个数加1)#include<iostream>using namespace std;#define N 1000int Tree[N];int findRoot(int x){ if(Tree[x]==-1) return x; else{ int tmp=findRoot...原创 2019-06-25 17:51:29 · 83 阅读 · 0 评论 -
图论专题-并查集 求最大集合内元素个数
输入:第一行:关系数目n(n个关系)第二行-第n行:具体哪两个元素有关系输出:有最多元素的集合的元素数注:若1,2有关系,2,3有关系,则1,3也有关系,即123在一个集合中#include<iostream>using namespace std;#define N 10000001int Tree[N];int findRoot(int x){ if(Tree...原创 2019-06-26 20:46:54 · 301 阅读 · 0 评论 -
图论专题-最小生成树kruskal(并查集实现)
输入:第一行:结点个数n第二行-往下:n(n-1)/2 条边的信息,分别输入头,尾和权值(无向)输出:使所有结点连通的路径最小值(最小生成树)#include<iostream>#include<algorithm>using namespace std;#define N 101int Tree[N];int findRoot(int x){ if...原创 2019-06-26 21:33:37 · 82 阅读 · 0 评论 -
图论专题-最短路径 Floyd 多源最短路径(两两之间)
输入:结点个数n,边数m结点a,结点b,他们之间的权值(共m条)输出:结点1-结点n的最短路径长度#include<iostream>using namespace std;int ans[101][101];int main(){ int n,m; while(cin>>n>>m){ if(n==0&&m==0) brea...原创 2019-06-27 10:43:03 · 120 阅读 · 0 评论 -
图论专题-最短路径 Dijkstra 单源最短路径
#include<iostream>#include<vector>using namespace std;struct E{ int next; int c;};vector<E> edge[101];bool mark[101];int Dis[101];int main(){ int n,m; while(cin>&...原创 2019-06-27 15:31:23 · 108 阅读 · 0 评论