1346:【例4-7】亲戚(relation)
- 开始学并查集!
- 白书的解释真的是……长且无用
- 总结:每个集合就是一棵树,以根节点判断是否在同一集合,合并集合就把一棵树的根节点连到另一棵树的根节点上。
- 除此以外,为防止出现链式结构降低搜索效率,可压缩路径,方法为递归回来是把路上的父亲节点全部连到根节点,能有效的降低复杂度。
- 传送门
- 模板题,注意数据较大,用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)相关推荐
- 【NOIP普及组】1346:【例4-7】亲戚(relation)
[信奥赛一本通]1346:[例4-7]亲戚 1.[题目描述] 2.[代码] 1.[题目描述] 1346:[例4-7]亲戚(relation) 时间限制: 1000 ms 内存限制: 65536 KB ...
- 亲戚(relation)
亲戚(relation) 时间限制: 1 Sec 内存限制: 128 MB 题目描述 或许你并不知道,你的某个朋友是你的亲戚.他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子.如果能得到完整的家谱 ...
- C++:亲戚(relation)
题目简介: 一道并查集的模板题 题目描述 或许你并不知道,你的某个朋友是你的亲戚.他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子(辈分挺长).如果能得到完整的家谱,判断两个人是否是亲戚应该是可行的 ...
- 【图】【并查集】亲戚
亲戚(relation.cpp) 时间限制: 1 Sec 内存限制: 64 MB 题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易. 现在给出某个亲戚关系图,求任意给出的两个人 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 2022暑初二信息竞赛学习成果分享1
学习目录1 第一期 (2022/07/11~2022/07/16) Day 1:复习--**STL.二叉堆.二维费用背包** `Morning`--STL复习 [T1. 车站铁轨](http://22 ...
- python教材答案编写函数求成绩平均数_学好Python例题之求成绩平均分
原博文 2019-08-16 21:03 − 例题: 用户输入若干个成绩,求所有成绩的平均值.每输入一个成绩后询问是否继续输入下一个成绩,回答yes就继续输入下一个成绩,回答no就停止输入成绩. 输入 ...
- 进击高手【第十二期】并查集
引入 在一些有 NNN 个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中. 举个例子: 设初 ...
- 新概念二册 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 [ˈ ...
最新文章
- Lambda使用——JDK8新特性
- 推荐系统User-Item Embedding图算法
- Android构建流程——篇四
- Java字符串常用操作
- ubuntu 配置静态IP及DNS
- 谈谈 css 的各种居中——读编写高质量代码有感
- bzoj2144: 跳跳棋(二分/倍增)
- ssh 连接_Docker实战——使用SSH连接docker容器
- 卡尔曼滤波器的一种形象表达
- Docker安装与入门
- android- activity,Application,activity渲染xml文件
- Windows 技术篇 - win10开机启动项设置方法,windows启动项里没有的程序设置开机启动方法
- Docker 配置国内镜像源
- java实现 xls转xlsx
- 绿盟科技网络安全威胁周报2017.15 建议关注方程式组织泄漏大量针对Windows攻击工具...
- 江敏:做创业公司CTO,是程序员未知的冒险
- android studio manifest merger failed,Android Studio报错Manifest merger failed with multiple errors...
- Linux的文件操作
- 几很有代表性的个for循环的练习题
- 教你如何修改鼠标右键菜单背景图
热门文章
- Windows Azure使用体验
- iphone计算机照片要求,详细教您苹果手机照片怎么导入电脑
- 美国大学数学与计算机科学专业介绍,美国大学数学专业留学
- Vue CLl 出现 Invalid Host header
- GitHub 十个最受欢迎的 React 相关库
- 程序员公司要全员降薪了,我该留下还是走呢
- 华为鸿蒙宣传悟空视频_华为P30拍摄微电影《悟空》火爆:暗示鸿蒙系统9月22日问世?...
- Nature Comm | 昆士兰大学水中心-细菌介导的新型丙烷厌氧氧化耦合硝酸盐还原过程...
- 1.6 - CPU组成
- 高等数学——对坐标曲线的积分