• 开始学并查集!
  • 白书的解释真的是……长且无用
  • 总结:每个集合就是一棵树,以根节点判断是否在同一集合,合并集合就把一棵树的根节点连到另一棵树的根节点上。
  • 除此以外,为防止出现链式结构降低搜索效率,可压缩路径,方法为递归回来是把路上的父亲节点全部连到根节点,能有效的降低复杂度。
  • 传送门
  • 模板题,注意数据较大,用scanf和printf.
#include<bits/stdc++.h>
using namespace std;
#define maxn 20010
int father[maxn];
int m,n,q;
int find(int x){if(father[x]!=x) father[x]=find(father[x]);//路径压缩,递归回来时把一路上的父亲节点都指到根节点,很巧妙 return father[x];
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)father[i]=i;int x,y;for(int i=1;i<=m;i++){int r1,r2;scanf("%d%d",&x,&y);r1=find(x),r2=find(y);if(r1!=r2) father[r2]=r1;//连接两棵树 }scanf("%d",&q);for(int i=1;i<=q;i++){scanf("%d%d",&x,&y);if(find(x)==find(y)) printf("Yes\n");else printf("No\n");}return 0;
}

1346:【例4-7】亲戚(relation)相关推荐

  1. 【NOIP普及组】1346:【例4-7】亲戚(relation)

    [信奥赛一本通]1346:[例4-7]亲戚 1.[题目描述] 2.[代码] 1.[题目描述] 1346:[例4-7]亲戚(relation) 时间限制: 1000 ms 内存限制: 65536 KB ...

  2. 亲戚(relation)

    亲戚(relation) 时间限制: 1 Sec  内存限制: 128 MB 题目描述 或许你并不知道,你的某个朋友是你的亲戚.他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子.如果能得到完整的家谱 ...

  3. C++:亲戚(relation)

    题目简介: 一道并查集的模板题 题目描述 或许你并不知道,你的某个朋友是你的亲戚.他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子(辈分挺长).如果能得到完整的家谱,判断两个人是否是亲戚应该是可行的 ...

  4. 【图】【并查集】亲戚

    亲戚(relation.cpp) 时间限制: 1 Sec  内存限制: 64 MB 题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易. 现在给出某个亲戚关系图,求任意给出的两个人 ...

  5. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  6. 2022暑初二信息竞赛学习成果分享1

    学习目录1 第一期 (2022/07/11~2022/07/16) Day 1:复习--**STL.二叉堆.二维费用背包** `Morning`--STL复习 [T1. 车站铁轨](http://22 ...

  7. python教材答案编写函数求成绩平均数_学好Python例题之求成绩平均分

    原博文 2019-08-16 21:03 − 例题: 用户输入若干个成绩,求所有成绩的平均值.每输入一个成绩后询问是否继续输入下一个成绩,回答yes就继续输入下一个成绩,回答no就停止输入成绩. 输入 ...

  8. 进击高手【第十二期】并查集

    引入 在一些有 NNN 个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中. 举个例子: 设初 ...

  9. 新概念二册 Lesson 39 Am I all right?我是否痊愈?(复习直接引语变间接引语)

    文章目录 1 课文 2 单词 2.1 operation [ˌɒpəˈreɪʃn] n. 手术 2.2 successful [səkˈsesfl] adj. 成功的 2.3 following [ˈ ...

最新文章

  1. Lambda使用——JDK8新特性
  2. 推荐系统User-Item Embedding图算法
  3. Android构建流程——篇四
  4. Java字符串常用操作
  5. ubuntu 配置静态IP及DNS
  6. 谈谈 css 的各种居中——读编写高质量代码有感
  7. bzoj2144: 跳跳棋(二分/倍增)
  8. ssh 连接_Docker实战——使用SSH连接docker容器
  9. 卡尔曼滤波器的一种形象表达
  10. Docker安装与入门
  11. android- activity,Application,activity渲染xml文件
  12. Windows 技术篇 - win10开机启动项设置方法,windows启动项里没有的程序设置开机启动方法
  13. Docker 配置国内镜像源
  14. java实现 xls转xlsx
  15. 绿盟科技网络安全威胁周报2017.15 建议关注方程式组织泄漏大量针对Windows攻击工具...
  16. 江敏:做创业公司CTO,是程序员未知的冒险
  17. android studio manifest merger failed,Android Studio报错Manifest merger failed with multiple errors...
  18. Linux的文件操作
  19. 几很有代表性的个for循环的练习题
  20. 教你如何修改鼠标右键菜单背景图

热门文章

  1. Windows Azure使用体验
  2. iphone计算机照片要求,详细教您苹果手机照片怎么导入电脑
  3. 美国大学数学与计算机科学专业介绍,美国大学数学专业留学
  4. Vue CLl 出现 Invalid Host header
  5. GitHub 十个最受欢迎的 React 相关库
  6. 程序员公司要全员降薪了,我该留下还是走呢
  7. 华为鸿蒙宣传悟空视频_华为P30拍摄微电影《悟空》火爆:暗示鸿蒙系统9月22日问世?...
  8. Nature Comm | 昆士兰大学水中心-细菌介导的新型丙烷厌氧氧化耦合硝酸盐还原过程...
  9. 1.6 - CPU组成
  10. 高等数学——对坐标曲线的积分