CSU 1004并查集
试题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1004
题目分析:
讲述的主要是是否可以通过公交直接到达自己的目的地,如果最后将问题转换为并查集后就可以发现其实就是问在自己构造的这棵树中,他们的根节点是否是相同的。
主要的注意是在输入的时候要求两个两个的处理,简单并且节省空间。
#include <iostream>
#include <cstdio> using namespace std;
int fa[]; //用来寻找并且合并根节点的函数
int find(int x){
int a = x;
while(fa[x]!=x){
x = fa[x];
}
fa[a] = x; //将根节点的信息记录在最开始的那个点中
return x;
} int Union(int x,int y){
int a = find(x);
int b = find(y); if(a!=b)fa[a] = b;
} int main()
{
int t,cars;
scanf("%d",&t);
while(t--){
int start,end,m,tian,xia;
scanf("%d%d",&start,&end);
//现在是要求要有多少的空间来保存公交车的路线信息呢?
scanf("%d",&cars); for(int i = ;i <=;i++){
fa[i] = i;
}
for(int j = ;j < cars;j++){
cin>>m>>tian;
for(int i=;i<m;i++)
{
cin>>xia;
Union(tian,xia);
}
}
if(find(start)!=find(end))
cout<<"No"<<endl;
else
cout<<"Yes"<<endl; } return ;
}
CSU 1004并查集的更多相关文章
- 2017"百度之星"程序设计大赛 - 资格赛【1001 Floyd求最小环 1002 歪解(并查集),1003 完全背包 1004 01背包 1005 打表找规律+卡特兰数】
度度熊保护村庄 Accepts: 13 Submissions: 488 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3276 ...
- 【2018百度之星初赛 B】1001并查集 1004二分 1006不等式
1001 degree 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6380 并查集向图中加点,分别记录与初始度数最多的点 直接相连的点数.独立的点数 ...
- CSU 1326:The contest(并查集+分组背包)
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1326 题意:…… 思路:并查集建图处理出边,然后分组背包. 之前不会分组背包,比赛的时候也推不出来 ...
- PAT甲级1004题解——并查集思想改
题目分析:本题开始一直在考虑如何将每一个节点通过一种合适的数据结构存储起来(一对多的关系),最后发现借助并查集的思想可以用一个数组p,p[i]存放i节点的父节点,每次查询编号为i的节点属于第几层且判断 ...
- 1326: The contest(并查集+分组背包)
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1326 殷犇有很多队员.他们都认为自己是最强的,于是,一场比赛开始了~ 于是安叔主办了一场比赛,比赛 ...
- #C++初学记录(并查集)
并查集 题目 今天是伊格那丢的生日.他邀请了很多朋友.现在该吃晚饭了.伊格那丢想知道他至少需要多少张桌子.你必须注意到并不是所有的朋友都认识对方,而且所有的朋友都不想和陌生人待在一起.这个问题的一个重 ...
- BZOJ 4199: [Noi2015]品酒大会 [后缀数组 带权并查集]
4199: [Noi2015]品酒大会 UOJ:http://uoj.ac/problem/131 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品 ...
- 关押罪犯 and 食物链(并查集)
题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气值"( ...
- 图的生成树(森林)(克鲁斯卡尔Kruskal算法和普里姆Prim算法)、以及并查集的使用
图的连通性问题:无向图的连通分量和生成树,所有顶点均由边连接在一起,但不存在回路的图. 设图 G=(V, E) 是个连通图,当从图任一顶点出发遍历图G 时,将边集 E(G) 分成两个集合 T(G) 和 ...
随机推荐
- coordinate transformation
$X_{0}$为$I$在$O_{0}$系的坐标${\left(\begin{array}{c}x_0 \\y_0 \\z_0 \\\end{array}\right)}$,$X_{1}$为$I$在$O ...
- JAVA中数组总结(课堂总结)
数组的特点: Arrays(数组)一种简单的数据结构元素具有相同的数据类型一旦创建之后,尺寸保持不变元素在内存中连续分布例子一:按引用与按值传递的示例源代码: // PassArray.java // ...
- File对象的常用方法
File对象不仅可以表示文件,还可以表示目录,源码注释是这么说的:An abstract representation of file and directory pathnames. File类最常 ...
- js获取json的value
getJson('age'); function getJson(key){ var jsonObj={"name":"cxr","age" ...
- 《JavaScript高级程序设计》读书笔记 ---小结
对象在JavaScript 中被称为引用类型的值,而且有一些内置的引用类型可以用来创建特定的对象,现简要总结如下: 引用类型与传统面向对象程序设计中的类相似,但实现不同: Object 是一个基础 ...
- redis 5 种数据结构
常用命令 就DB来说,Redis成绩已经很惊人了,且不说memcachedb和tokyocabinet之流,就说原版的memcached,速度似乎也只能达到这个级别.Redis根本是使用内存存储,持久 ...
- MITMF
一. 安装 项目地址:https://github.com/byt3bl33d3r/MITMf 需要自行手动安装python-nfqueue,pefile模块 sudo apt-get install ...
- [妙味DOM]第六课:鼠标滚轮和COOKIE
知识点总结: 鼠标滚轮事件 存在兼容性问题: IE/chorme : onmousewheel FF : DOMMouseScroll,必需用在addEventListener下,例如: if (ob ...
- JS兼容性总结
获取样式obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr]; //currentStyle为IE 滚动条 v ...
- 邮件发送 java
package com.sun.mail; import java.io.File;import java.io.IOException;import java.io.UnsupportedEncod ...