
----并查集
文章平均质量分 68
Aden2224
这个作者很懒,什么都没留下…
展开
-
1013. Battle Over Cities (25)
就是找去掉一点后联通分量个数,用DFS,并查集都可以。#include #include #include #include #include #include #include #include #include int n,m,k;int mat[1001][1001];int visit[1001];void dfs(int from){ int i;原创 2017-04-08 10:06:23 · 232 阅读 · 0 评论 -
题目1444:More is better
#include #define max 10000010int tree[max];int people[max];int findroot(int x){ if(tree[x]==-1) return x; else { int tap=findroot(tree[x]); tree[x]=tap;原创 2017-04-25 17:56:36 · 359 阅读 · 0 评论 -
题目1109:连通图
#include #include #include #include #include #include #include #include #include using namespace std;//1109 method2int T[1010];void init(int n){ for(int i=1;i<=n;i++){ T[i]=i;原创 2017-04-17 16:39:52 · 378 阅读 · 0 评论 -
题目1028:继续畅通工程
#include #include using namespace std;#define N 101 int tree[N];int find(int x){ if (tree[x] == -1) return x; else { int tmp = find(tree[x]); tree[x] = tmp;原创 2017-04-13 10:37:23 · 367 阅读 · 0 评论 -
题目1024:畅通工程
#include "iostream"#include "stdio.h"#include #include #include #include #include #include #include #include #include using namespace std;//1024int t[110];int n,m,a,b,c,size;struct edge原创 2017-04-13 10:31:57 · 247 阅读 · 0 评论 -
题目1017:还是畅通工程
#include #include #include #include #include #include #include using namespace std; //exp5.3#define N 101int Tree[N];int findRoot(int x){ if(Tree[x]==-1) return x; else{原创 2017-04-12 09:41:25 · 271 阅读 · 0 评论 -
题目1012:畅通工程
#include #include #include #include #include #include #include #include #include #include using namespace std;//1012int n,m;int Tree[1000];int findRoot(int x){ if(Tree[x]==x) return原创 2017-04-12 09:25:03 · 212 阅读 · 0 评论 -
1034. Head of a Gang (30)
并查集#include #include #include #include #include #include #include #include using namespace std; typedef long long LL; const int INF = 0x7FFFFFFF; const int maxn = 2e3 + 10; i原创 2017-04-09 09:36:00 · 243 阅读 · 0 评论 -
1021. Deepest Root (25)
并查集判断连通,再每个节点出发DFS记录最大深度,最后输出最大深度。#include #include #include #include #include #include #include #include #include using namespace std;#define MAX 10001bool visit[MAX]={false};int N;int原创 2017-04-08 13:40:38 · 388 阅读 · 0 评论 -
题目1445:How Many Tables
#include "iostream"#include "stdio.h"#include #include #include #include #include #include #include #include #include using namespace std;//1445int t[1010];int T,n,m,a,b;int findRoot(in原创 2017-04-25 17:57:58 · 328 阅读 · 0 评论