题解:并查集,这里要用路径压缩来优化

代码:// 这里范围理错了, 浪费20分钟debug

  1. #include <set>
  2. #include <iostream>
  3. #include <cstring>
  4. #include <cstdio>
  5. using namespace std;
  6. const int maxn=;
  7. int fa[maxn];
  8. int n;
  9.  
  10. int Find(int x)
  11. {
  12. //
  13. int temp=x;
  14. while(fa[temp]!=temp)
  15. {
  16. temp=fa[temp];//
  17. }
  18.  
  19. while(fa[x]!=temp) // 路劲压缩
  20. {
  21. int zz=fa[x];
  22. fa[x]=temp;
  23. x=zz;
  24. }
  25.  
  26. return temp; // root
  27. }
  28.  
  29. void Merge(int x,int y)
  30. {
  31. int fx=Find(x);// root of x
  32. int fy=Find(y);// root of y
  33. if(fx != fy)
  34. {
  35. fa[fx] = fy;
  36. }
  37. }
  38.  
  39. int main()
  40. {
  41. cin>>n;
  42. int pre,now;
  43. set<int >st;
  44. for(int i=;i<maxn;i++) fa[i]=i;
  45. for(int i=;i<=n;i++)
  46. {
  47. int k;
  48. cin>>k;
  49. for(int j=;j<=k;j++)
  50. {
  51. if(j==)
  52. {
  53. scanf("%d",&now);
  54. }
  55. else
  56. {
  57. pre=now;
  58. // cout<<"pre:"<<pre<<endl;
  59.  
  60. scanf("%d",&now);
  61. Merge(pre,now);//
  62. // cout<<fa[2]<<endl;
  63. // cout<<pre<<' '<<now<<' '<<fa[pre]<<' '<<fa[now]<<endl;
  64. }
  65. st.insert(now);
  66. }
  67. }
  68. int q;
  69. cin>>q;
  70. int num=;
  71. for(int i=;i<=st.size();i++)
  72. {
  73. if(fa[i]==i)
  74. {
  75. num++;
  76. // cout<<i<<endl;
  77. }
  78. }
  79. cout<<st.size()<<" "<<num<<endl;
  80. while(q--)
  81. {
  82. int a,b;
  83. scanf("%d %d",&a,&b);
  84. int fa=Find(a);
  85. int fb=Find(b);
  86. if(fa==fb) cout<<"Y"<<endl;
  87. else cout<<"N"<<endl;
  88. }
  89. // for(int i=1;i<=st.size();i++) cout<<fa[i]<<" ";
  90. // cout<<fa[2]<<endl;
  91. return ;
  92. }

天梯赛 L2-024. 部落的更多相关文章

  1. PTA天梯赛L2

    L2-001 紧急救援 题意:就是给你一张n<500的图:让你求最短路径,最短路条数,以及路径: 做法,先用dijkstra求最短路,然后dfs找最短路条数,以及点权的最大值: 一般dfs不就可 ...

  2. 第四届CCCC团体程序设计天梯赛 后记

    一不小心又翻车了,第二次痛失200分 1.开局7分钟A了L2-3,一看榜已经有七个大兄弟排在前面了,翻车 * 1 2.把L1-3 A了18分,留了两分准备抢顽强拼搏奖,最后五秒钟把题过了,万万没想到还 ...

  3. 团体程序设计天梯赛(CCCC) L3009 长城 方法证明

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  4. 【CCCC天梯赛决赛】

    cccc的天梯赛决赛,水题一样的水,中档题以上的还是没做出来.补了一下题,觉得其实也不是很难,主要是练的少. L2-1:红色预警 并查集 我做的时候想不到并查集,想到了也不一定做的出来,都是其实不难. ...

  5. 记第一届 CCCC-团体程序设计天梯赛决赛 参赛

    其他都没什么,上午报道,下午比赛两个半小时,最后139分 但四我超遗憾的是,最后在做L3-1二叉搜索树,因为看到有辣么多人做出来,可是我没做出来啊 比赛结束后看了看其他两道当场吐血,L3-3直捣黄龙不 ...

  6. L1-049 天梯赛座位分配​​​​​​​

    L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...

  7. 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  8. 团体程序设计天梯赛(CCCC) L3019 代码排版 方法与编译原理密切相关,只有一个测试点段错误

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  9. 团体程序设计天梯赛(CCCC) L3015 球队“食物链” 状态压缩

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code #include <cstdio> #include ...

  10. 团体程序设计天梯赛(CCCC) L3014 周游世界 BFS证明

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

随机推荐

  1. Tensorflow 2 flower_photos花卉数据集手动下载、离线安装、本地加载、快速读取

    Tensorflow 2 flower_photos花卉数据集手动下载.离线安装.本地加载.快速读取 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.c ...

  2. Docs-.NET-C#-指南-语言参考-关键字:C# 关键字

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字:C# 关键字 1.返回顶部 1. C# 关键字 2017/03/07 关键字是预定义的保留标识符,对编译器有特殊意义. 除非前面有 @ ...

  3. Linux_CentOS 文件管理和目录管理

    Linux 文件管理 1.创建文件 touch file1 2.删除文件 rm -rf file11 -r:递归的删除目录下面文件以及子目录下文件. -f:强制删除,忽略不存在的文件,从不给出提示 3 ...

  4. vscode片段

    参考资料 https://blog.csdn.net/maokelong95/article/details/54379046 "狂客注释": { "prefix&quo ...

  5. Laya的场景以及场景的加载

    参考: Laya项目发布详解 Laya2.0 内嵌模式.加载模式.分离模式.文件模式的场景加载创建和场景打开关闭 版本2.1.1.1 白鹭中的场景是exml制作,发布后exml代码都会打包到defau ...

  6. DNS解析问题

    DNS解析问题,在/etc/resolv.conf文件中加如下一行: nameserver 8.8.8.8 即使用谷歌的域名服务器 如下问题都是DNS解析问题: apt-get update 异常 T ...

  7. [转]Office 安装卸载太麻烦?用这个工具帮你解决:Office Tool Plus

    原文链接:https://sspai.com/post/43839 Office Tool官方网站:https://otp.landian.vip/zh-cn/ 真的很好用,发一个安装的截图:

  8. LODOP带空格和不带空格的字体对齐

    有时候需要用到字体上下对齐,有些需要的文字较多,较少的文字需要加部分空格才能向上面的文字对齐.本文实际测试了一下字体对齐需要的空格.代码是在editplus里写的,该编辑软件里的字体首选项设置的是Co ...

  9. Yii2性能优化

    https://www.yiiframework.com/doc/guide/2.0/zh-cn/tutorial-performance-tuning 性能优化 有许多因素影响你的 Web 应用程序 ...

  10. Git 和 SVN 存储方式的差异对比

    Git git 对于一个文件的修改存储的是一个快照,就是说针对文件1,修改之后,生成文件2,文件2中包含文件的1的内容,如果当文件1不存在,版本回退也就不管用了. SVN SVN 存储的是对文件的差异 ...