就是基础的并查集。0代表合并操作,1代表查询操作。一开始以为会卡路径压缩,忐忑的交了一版裸并查集,结果AC了。数据还是很水的。

以后坚持做hiho,当额外的练习啦~

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. map<string, int> Hash;
  5. int Father[];
  6.  
  7. int getFather (int x) {
  8. if (x != Father[x]) {
  9. return getFather (Father[x]);
  10. }
  11. return x;
  12. }
  13.  
  14. void Union (int p, int q) {
  15. int x = getFather (p);
  16. int y = getFather (q);
  17. if (x != y) {
  18. Father[y] = x;
  19. }
  20. }
  21.  
  22. int main () {
  23. ios :: sync_with_stdio(false);
  24. cin.tie();
  25. int n, a, cnt = ;
  26. string x, y;
  27. cin >> n;
  28. for (int i = ; i < ; ++ i) {
  29. Father[i] = i;
  30. }
  31. while (n --) {
  32. cin >> a >> x >> y;
  33. if (a == ) {
  34. if (!Hash[x]) {
  35. Hash[x] = cnt ++;
  36. }
  37. if (!Hash[y]) {
  38. Hash[y] = cnt ++;
  39. }
  40. Union (Hash[x], Hash[y]);
  41. } else {
  42. if (!Hash[x]) {
  43. Hash[x] = cnt ++;
  44. }
  45. if (!Hash[y]) {
  46. Hash[y] = cnt ++;
  47. }
  48. if (getFather (Hash[x]) == getFather (Hash[y])) {
  49. cout << "yes" << endl;
  50. } else {
  51. cout << "no" << endl;
  52. }
  53. }
  54. }
  55. return ;
  56. }

【hihoCoder第十四周】无间道之并查集的更多相关文章

  1. HihoCoder第十四周:无间道之并查集

    #1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息--额,说远了,总之,小Hi和小H ...

  2. hihocoder 1066 无间道之并查集

    #1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息……额,说远了,总之,小Hi和小H ...

  3. [hihoCoder]无间道之并查集

    题目大意: #1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息……额,说远了,总之, ...

  4. hiho #1066 : 无间道之并查集

    #1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息……额,说远了,总之,小Hi和小H ...

  5. hihoCoder week14 无间道之并查集

    并查集的基本使用 #include <bits/stdc++.h> using namespace std; ; int n, fa[N]; int cnt, tot; map<st ...

  6. C - 无间道之并查集 HihoCoder - 1066

    输入 每个测试点(输入文件)有且仅有一组测试数据. 每组测试数据的第1行为一个整数N,表示黑叔叔总共进行的操作次数. 每组测试数据的第2~N+1行,每行分别描述黑叔叔的一次操作,其中第i+1行为一个整 ...

  7. hihoCoder 1515 分数调查(带权并查集)

    http://hihocoder.com/problemset/problem/1515 题意: 思路: 带权并查集的简单题,计算的时候利用向量法则即可. #include<iostream&g ...

  8. hihoCoder #1291 : Building in Sandbox 逆向处理+并查集维护

    /** 题目:#1291 : Building in Sandbox 链接:https://hihocoder.com/problemset/problem/1291 题意:就是一个三维的空间里,按照 ...

  9. Hiho----无间道之并查集

    题目: 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息……额,说远了,总之,小Hi和小Ho决定趁着这朗朗春光出去 ...

随机推荐

  1. Eclipse Tomcat : Project facet Java version 1.7 is not supported.

    在Eclipse打开一个项目,并用Tomcat运行时,报错:Project facet Java version 1.7 is not supported. 大致的截图如下: "项目中的jd ...

  2. android开发常用组件(库)推荐

    版本兼容:官方 support 全家桶 网络请求:Android-Async-Http.Retrofit.OkHttp.Volley图片加载:Glide 和 Universal-Image-Loade ...

  3. JAXB--学习1

    一.简介 JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实 ...

  4. Linux命令之exit

    本文链接:http://codingstandards.iteye.com/blog/836625   (转载请注明出处) 用途说明 exit命令用于退出当前shell,在shell脚本中可以终止当前 ...

  5. 线段树求逆序数方法 HDU1394&amp;&amp;POJ2299

    为什么线段树能够求逆序数? 给一个简单的序列 9 5 3 他的逆序数是3 首先要求一个逆序数有两种方式:能够从头開始往后找比当前元素小的值,也能够从后往前找比当前元素大的值,有几个逆序数就是几. 线段 ...

  6. Mapreduce运行过程分析(基于Hadoop2.4)——(一)

    1 概述 该瞅瞅MapReduce的内部执行原理了,曾经仅仅知道个皮毛,再不搞搞,不然怎么死的都不晓得.下文会以2.4版本号中的WordCount这个经典样例作为分析的切入点.一步步来看里面究竟是个什 ...

  7. 图表插件--jqplot交互演示样例

    简单交互 在之前的学习中,我们已经能够绘制各种类型的图表,也能够给图表加入不同的组件,如标题.图例等等.但这些图表仅仅能用于展示数据,一旦希望对图表有所操作--比方查看数据明细--就显得束手无策了.事 ...

  8. ng-camera的API详解

    Camera github地址: apache/cordova-plugin-camera 安装 cordova plugin add cordoba-plugin-camera 项目中的使用

  9. mybati的存储过程

    这里我就以的存储过程为例,大家一起学习一下,

  10. 自定义控件 闪烁效果的TextView

    使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android ...