比较基础的带权并查集,需要注意终止条件是'O'而不是'0'...

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 #include <cmath>
 5 using namespace std;
 6
 7 const int N = 20001;
 8 const int MOD = 1000;
 9 int f[N];
10 int d[N];
11
12 void init( int n )
13 {
14     for ( int i = 1; i <= n; i++ )
15     {
16         f[i] = i;
17         d[i] = 0;
18     }
19 }
20
21 void findf( int x )
22 {
23     if ( f[x] == x ) return ;
24     int tx = f[x];
25     findf(tx);
26     d[x] += d[tx];
27     f[x] = f[tx];
28 }
29
30 int main ()
31 {
32     int t;
33     scanf("%d", &t);
34     while ( t-- )
35     {
36         int n;
37         scanf("%d", &n);
38         init(n);
39         char op[2];
40         while ( scanf("%s", op) != EOF )
41         {
42             if ( op[0] == 'O' ) break;
43             int x, y;
44             if ( op[0] == 'E' )
45             {
46                 scanf("%d", &x);
47                 findf(x);
48                 printf("%d\n", d[x]);
49             }
50             else
51             {
52                 scanf("%d%d", &x, &y);
53                 f[x] = y;
54                 d[x] = ( ( int ) abs( x - y ) ) % MOD;
55             }
56         }
57     }
58     return 0;
59 }

转载于:https://www.cnblogs.com/huoxiayu/p/4753832.html

LA 3027 并查集相关推荐

  1. LA 3644 易爆物 并查集

    题目链接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show ...

  2. POJ2186——并查集+Tarjan算法求强连通分量

    算法讨论:这题陷阱比较多.首先,被所有牛欢迎,这说明所有的牛都要在一个连通图中,也就是将所给的边看成无向边的时候,所有点要在一个连通图中.这个我们用并查集来实现就可以了.强连通分量的求法就很简单了,正 ...

  3. bzoj4602 [Sdoi2016]齿轮 边权并查集

    把并查集的树形结构画出来,尝试路径压缩,就是直接把边权乘起来,表示当前节点转1圈,父节点转几圈.. 如果卡精度可以用取log或分解质因数. 码: #include<iostream> #i ...

  4. 算法随笔 — 树结构基础 — 并查集

    并查集定义 并查集是一种用来解决 连通性 的数据结构,抽象的方向不同会导致实现方式的不同. 我们也可以用并查集来表示集合的关系. 1.快速查找(quick-find) 如图所示,我们可以通过给元素加颜 ...

  5. 51nod 1515 明辨是非 2017百度之星初赛第一场第二题(并查集+启发式合并)

    题目: 原题链接 给n组操作,每组操作形式为x y p. 当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等:否则输出NO,并忽略此次操作. 当p为0时,如果第x变量和第y个变 ...

  6. 并查集c++代码_[Leetcode 每日精选](本周主题-并查集) 547. 朋友圈

    题目难度: 中等 原题链接 今天继续来做并查集的问题, 这道题仍然比较基础, 而且也是个比较接近现实的问题了. 大家在我的公众号"每日精选算法题"中的聊天框中回复 并查集 就能看到 ...

  7. HDU1811 Rank of Tetris 拓扑排序+并查集 OR 差分约束最短路+并查集

    题目链接 题意:就是给你一堆关系,看能不能排出个确定的顺序 做法: 1. 拓扑排序+并查集 应该很容易想到的一种思路,大于小于建立单向边.对于相等的呢,就把他们缩成一个点.就用并查集缩成一个点就行了 ...

  8. HDU 2586 How far away ? LCA ---tanjar+并查集 离线算法

    tanjar算法离线求LCA的思想主要是利用并查集的思想. 求距离的话就是d[start[i]]+end[en[i]]-2*d[lca[i]]; 首先从根节点dfs,在深度遍历的回溯的过程中不断的更新 ...

  9. POJ - 2513 Colored Sticks 欧拉通路+并查集+静态树

    一开始想用map来搞,但是感觉好复杂,然后想了一下看大佬们用trie做的,感觉十分合理就敲了一发. 一开始re,数组要开到550000 只会静态的字典树,在每个根节点看是否出现过改颜色,如果没有就把该 ...

  10. 关于 并查集(union find) 算法基本原理 以及 其 在分布式图场景的应用

    二月的最后一篇水文-想写一些有意思的东西. 文章目录 环检测在图数据结构中的应用 深度/广度优先 检测环 并查集数据结构 (Union-Find) 基本概念 初始化 合并 union 查找祖先 优化1 ...

最新文章

  1. 基于Yolo-V3对卫星图像进行储油罐容积占用率的研究
  2. python入门教程完整版(懂中文就能学会)-Python入门教程完整版(懂中文就能学会)...
  3. scala运行包含package文件注意细节
  4. 专家票选! 2020 年度 10 篇人工智能经典论文(6-10)
  5. DCMTK:DSRDocument类的测试程序
  6. 使用MeanJS Yeoman Generator
  7. python自动化框架pytest pdf_Python自动化测试框架-pytest,python
  8. Kindle3与亚马逊
  9. 色彩特征提取-色彩属性HSV空间
  10. css过度动画使用简介及animate.css库使用简介
  11. 手机怎样和宽带连接无线路由器设置路由器连接服务器,手机设置路由器步骤_用手机怎么设置路由器?-192路由网...
  12. IP地址分类(A类 B类 C类 D类 E类)
  13. SNIP验证EDI文件
  14. 无卡支付系统(德齐互联)
  15. WebView开发(三):WebView性能优化
  16. 贪心算法解决商场买赠问题(最简单,通俗易懂,附C++代码
  17. 哪些情况下你的虾皮店铺会被封店
  18. 在k8s中通过CoreDNS进行域名解析的其中三种方法
  19. 计算机大赛a类有哪些,A类 B类学科竞赛项目清单
  20. 基于howler.js开发的音乐播放器

热门文章

  1. 郁闷的开始--8月21日
  2. python源码中的学习笔记_第8章_函数
  3. “鬼才”论文致谢刷屏!感谢我导“似导非导”的指导……
  4. 【GCN】2021年,我终于决定入门GCN
  5. 一次性送出25本北大出版社AI类当当最畅销的25本书!包括~机器学习、深度学习实战、数学基础等...
  6. 机翻测评 | 友商翻译 VS 火山翻译-中译英语向
  7. linux错误—3.解决设置普通用户的sudo权限中碰到的问题:sudo: /etc/sudoers is world writable...
  8. 免费讲座:网站运营之人性、策略与实战
  9. 《软件开发这点事儿》作者在MSDN上与您讨论软件开发
  10. 1.3 jieba分词运用:词云、关键词抽取、TextRank、TF-IDF