天梯赛 L2-024. 部落
题解:并查集,这里要用路径压缩来优化
代码:// 这里范围理错了, 浪费20分钟debug
- #include <set>
- #include <iostream>
- #include <cstring>
- #include <cstdio>
- using namespace std;
- const int maxn=;
- int fa[maxn];
- int n;
- int Find(int x)
- {
- //
- int temp=x;
- while(fa[temp]!=temp)
- {
- temp=fa[temp];//
- }
- while(fa[x]!=temp) // 路劲压缩
- {
- int zz=fa[x];
- fa[x]=temp;
- x=zz;
- }
- return temp; // root
- }
- void Merge(int x,int y)
- {
- int fx=Find(x);// root of x
- int fy=Find(y);// root of y
- if(fx != fy)
- {
- fa[fx] = fy;
- }
- }
- int main()
- {
- cin>>n;
- int pre,now;
- set<int >st;
- for(int i=;i<maxn;i++) fa[i]=i;
- for(int i=;i<=n;i++)
- {
- int k;
- cin>>k;
- for(int j=;j<=k;j++)
- {
- if(j==)
- {
- scanf("%d",&now);
- }
- else
- {
- pre=now;
- // cout<<"pre:"<<pre<<endl;
- scanf("%d",&now);
- Merge(pre,now);//
- // cout<<fa[2]<<endl;
- // cout<<pre<<' '<<now<<' '<<fa[pre]<<' '<<fa[now]<<endl;
- }
- st.insert(now);
- }
- }
- int q;
- cin>>q;
- int num=;
- for(int i=;i<=st.size();i++)
- {
- if(fa[i]==i)
- {
- num++;
- // cout<<i<<endl;
- }
- }
- cout<<st.size()<<" "<<num<<endl;
- while(q--)
- {
- int a,b;
- scanf("%d %d",&a,&b);
- int fa=Find(a);
- int fb=Find(b);
- if(fa==fb) cout<<"Y"<<endl;
- else cout<<"N"<<endl;
- }
- // for(int i=1;i<=st.size();i++) cout<<fa[i]<<" ";
- // cout<<fa[2]<<endl;
- return ;
- }
天梯赛 L2-024. 部落的更多相关文章
- PTA天梯赛L2
L2-001 紧急救援 题意:就是给你一张n<500的图:让你求最短路径,最短路条数,以及路径: 做法,先用dijkstra求最短路,然后dfs找最短路条数,以及点权的最大值: 一般dfs不就可 ...
- 第四届CCCC团体程序设计天梯赛 后记
一不小心又翻车了,第二次痛失200分 1.开局7分钟A了L2-3,一看榜已经有七个大兄弟排在前面了,翻车 * 1 2.把L1-3 A了18分,留了两分准备抢顽强拼搏奖,最后五秒钟把题过了,万万没想到还 ...
- 团体程序设计天梯赛(CCCC) L3009 长城 方法证明
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 【CCCC天梯赛决赛】
cccc的天梯赛决赛,水题一样的水,中档题以上的还是没做出来.补了一下题,觉得其实也不是很难,主要是练的少. L2-1:红色预警 并查集 我做的时候想不到并查集,想到了也不一定做的出来,都是其实不难. ...
- 记第一届 CCCC-团体程序设计天梯赛决赛 参赛
其他都没什么,上午报道,下午比赛两个半小时,最后139分 但四我超遗憾的是,最后在做L3-1二叉搜索树,因为看到有辣么多人做出来,可是我没做出来啊 比赛结束后看了看其他两道当场吐血,L3-3直捣黄龙不 ...
- L1-049 天梯赛座位分配
L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...
- 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 团体程序设计天梯赛(CCCC) L3019 代码排版 方法与编译原理密切相关,只有一个测试点段错误
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 团体程序设计天梯赛(CCCC) L3015 球队“食物链” 状态压缩
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code #include <cstdio> #include ...
- 团体程序设计天梯赛(CCCC) L3014 周游世界 BFS证明
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
随机推荐
- Tensorflow 2 flower_photos花卉数据集手动下载、离线安装、本地加载、快速读取
Tensorflow 2 flower_photos花卉数据集手动下载.离线安装.本地加载.快速读取 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.c ...
- Docs-.NET-C#-指南-语言参考-关键字:C# 关键字
ylbtech-Docs-.NET-C#-指南-语言参考-关键字:C# 关键字 1.返回顶部 1. C# 关键字 2017/03/07 关键字是预定义的保留标识符,对编译器有特殊意义. 除非前面有 @ ...
- Linux_CentOS 文件管理和目录管理
Linux 文件管理 1.创建文件 touch file1 2.删除文件 rm -rf file11 -r:递归的删除目录下面文件以及子目录下文件. -f:强制删除,忽略不存在的文件,从不给出提示 3 ...
- vscode片段
参考资料 https://blog.csdn.net/maokelong95/article/details/54379046 "狂客注释": { "prefix&quo ...
- Laya的场景以及场景的加载
参考: Laya项目发布详解 Laya2.0 内嵌模式.加载模式.分离模式.文件模式的场景加载创建和场景打开关闭 版本2.1.1.1 白鹭中的场景是exml制作,发布后exml代码都会打包到defau ...
- DNS解析问题
DNS解析问题,在/etc/resolv.conf文件中加如下一行: nameserver 8.8.8.8 即使用谷歌的域名服务器 如下问题都是DNS解析问题: apt-get update 异常 T ...
- [转]Office 安装卸载太麻烦?用这个工具帮你解决:Office Tool Plus
原文链接:https://sspai.com/post/43839 Office Tool官方网站:https://otp.landian.vip/zh-cn/ 真的很好用,发一个安装的截图:
- LODOP带空格和不带空格的字体对齐
有时候需要用到字体上下对齐,有些需要的文字较多,较少的文字需要加部分空格才能向上面的文字对齐.本文实际测试了一下字体对齐需要的空格.代码是在editplus里写的,该编辑软件里的字体首选项设置的是Co ...
- Yii2性能优化
https://www.yiiframework.com/doc/guide/2.0/zh-cn/tutorial-performance-tuning 性能优化 有许多因素影响你的 Web 应用程序 ...
- Git 和 SVN 存储方式的差异对比
Git git 对于一个文件的修改存储的是一个快照,就是说针对文件1,修改之后,生成文件2,文件2中包含文件的1的内容,如果当文件1不存在,版本回退也就不管用了. SVN SVN 存储的是对文件的差异 ...