#include
#include
#include
#include
using namespace std;
struct node{
int x,y;
};
int fa[100015];
int find(int x){
while(fa[x]!=x){
x = fa[x];
}
return x;
}
int d[100015];
node b[100015];
i...
分类:
其他好文 时间:
2015-05-18 09:12:29
阅读次数:
135
小希的迷宫
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 31396 Accepted Submission(s): 9726
Problem Description
上次Gardon的迷宫城堡小希玩了很久...
分类:
其他好文 时间:
2015-05-08 22:16:54
阅读次数:
140
考察并查集,判断是否成环(是否有同样的父节点),判断连通(是否只有一个根节点)
#include
#define maxn 100000+5
using namespace std;
int a,b;
int flag;
int father[maxn];
int sign[maxn];
void ready()
{
for(int i=1;i<maxn;i++) father[i]=i,si...
分类:
其他好文 时间:
2015-05-05 23:55:25
阅读次数:
302
真是被这道并查集的水题给坑哭了。。。忘记给uset数组初始化我也是醉了。题目意思是找到判断是不是连通无环的图,首先想到的就是并查集。1判断成环的时候,只要判断输入边的两个点。有一个共同的父节点,那么这两个点就成环。2判断连通的时候,只要判断根节点数为1即可。#include"iostream"#in...
分类:
其他好文 时间:
2015-04-22 23:39:34
阅读次数:
113
小希的迷宫Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30827Accepted Submission(s): 9540Problem Desc...
分类:
其他好文 时间:
2015-04-22 21:57:35
阅读次数:
134
题目大意: 题目说的是,给你一些边的关系来构成一棵树,然后让你求出这在这个生成树中是否有环,也就是说,对于树上的任意一个节点,是否存在从这个点到其余节点的第二条路径。解题思路: 裸裸的并查集,我们只需要将每次输入的边的关系进行一个合并,然后用book[]数组去标记哪些点已经在这个生成树出...
分类:
其他好文 时间:
2015-04-19 15:51:20
阅读次数:
110
题意:给出一张无向图,判定是否有环,判定是否为一棵树;思路:并查集判环,唯一祖先;#include#include#includeusing namespace std;#define M 0x3f3f3f3fint fa[500010],mark[500010];void init(){ f...
分类:
其他好文 时间:
2015-04-10 21:59:38
阅读次数:
105
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30274 Accepted Submission(s): 9394Problem Desc...
分类:
其他好文 时间:
2015-04-05 13:10:49
阅读次数:
90
今天,刚学习了并查集对于并查集,也有了一定的理解了。
杭电1272这一题,主要是给你几对数,表示这两个数(可以理解为村落)直接有路,而从每一个村落到另外一个村落只能有一条路,也就是不能存在环。而并查集就是将有一定联系的村落组成一个部落(也就是集合),如果给的两个村落都存在于同一个部落,也就是存在环了。
还有一种情况就是存在两个部落,也就是有些村落到不了另一些村落。这一点,我们需要通过判断 顶点...
分类:
其他好文 时间:
2015-04-05 09:05:47
阅读次数:
129