Mollnn

You Tomorrow will befall.

并查集应用:入门级

题目引用自洛谷。

  若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。
第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。
以下m行:每行两个数Mi,Mj,1<=Mi,Mj<=N,表示Ai和Bi具有亲戚关系。
接下来p行:每行两个数Pi,Pj,询问Pi和Pj是否具有亲戚关系。
输出P行,每行一个’Yes’或’No’。表示第i个询问的答案为“具有”或“不具有”亲戚关系。
这是一道非常简单的并查集题目。没有实际考察价值仅仅用于并查集的入门:

我在这里提供的代码都使用了类封装,事实上这样可能会常数级降低效率。

#include 
#include 
#include 
#define UFS_LIMIT 10000
using namespace std;
class UnionFindSet
{
	public:
		int father[UFS_LIMIT];
		UnionFindSet()
		{
			for(int i=0;i>n>>m>>p;
	for(i=0;i>t1>>t2, ufs.Union(t1,t2);
	for(i=0;i

>t1>>t2, cout<<(ufs.IfSame(t1,t2)?"Yes":"No")<



阅读更多
版权声明:文章内容精心原创,未经许可严禁转载或用于商业用途。 https://blog.csdn.net/Mollnn/article/details/52356164
文章标签: 并查集
个人分类: 基础数据结构
上一篇并查集初探(一) 核心代码
下一篇并查集初阶:畅通工程问题
想对作者说点什么? 我来说一句

poj2492并查集应用的扩展

2013年04月25日 5KB 下载

并查集.ppt

2015年08月11日 833KB 下载

acm的数据结构内容

2010年04月23日 408KB 下载

poj 1611 The Suspects 代码

2008年03月08日 1KB 下载

ACM-icpc之并查集初步

2011年04月29日 241KB 下载

并查集模板

2018年06月24日 1KB 下载

LPC2138学习入门级

2014年06月07日 62KB 下载

没有更多推荐了,返回首页

关闭
关闭