题目大意很简单,按照命令连接节点,findset函数写的时候费了点劲儿,要注意那个累加距离值。

其实因为刚开始学,还是对并查集的查询和连接不是很熟悉,多推几次就好了。

 1 #include<stdio.h>
 2 #include<algorithm>
 3 #include<string.h>
 4 using namespace std;
 5 int set[20010],p[20010];
 6 int findset(int x)
 7 {
 8     int ans;
 9     if(set[x]==x)
10         return x;
11     else
12     {
13         ans=findset(set[x]);
14         p[x]+=p[set[x]];
15         return set[x]=ans;
16     }
17 }
18 int main()
19 {
20     int T,i;
21     scanf("%d",&T);
22     while(T--)
23     {
24         int n,u,v;
25         scanf("%d",&n);
26         for(int i=0;i<n;i++)
27         {
28             set[i]=i;p[i]=0;
29         }
30         char s[10];
31         while(scanf("%s",s)&&s[0]!='O')
32         {
33             if(s[0]=='I')
34             {
35                 scanf("%d%d",&u,&v);
36                 set[u]=v;
37                 p[u]=(abs(u-v)%1000);
38             }
39             else
40             {
41                 scanf("%d",&u);findset(u);
42                 printf("%d\n",p[u]);
43             }
44         }
45     }
46     return 0;
47 }

转载于:https://www.cnblogs.com/Acgsws/p/3221613.html

LA3027(并查集)相关推荐

  1. LA3027简单带权并查集

    题意:       有n个点,一开始大家都是独立的点,然后给出一些关系,a,b表示a是b的父亲节点,距离是abs(a-b)%1000,然后有一些询问,每次询问一个节点a到父亲节点的距离是多少? 思路: ...

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

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

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

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

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

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

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

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

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

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

  7. 【BZOJ1015】【JSOI2008】星球大战 并查集

    题目大意 给你一张\(n\)个点\(m\)条边的无向图,有\(q\)次操作,每次删掉一个点以及和这个点相邻的边,求最开始和每次删完点后的连通块个数. \(q\leq n\leq 400000,m\le ...

  8. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

  9. 1013 Battle Over Cities(并查集解法)

    关于背景的介绍见1013 Battle Over Cities(图的DFS解法) DFS就是不算特定结点后数连通子图的总数,再减一.我想着那么并查集就是数不算特定节点后,集合元素(根)的个数.但是我弄 ...

  10. 并查集专题练习:好朋友(未完待续)

    有空再把题目补上 输入样例1 4 2 1 4 2 3 样例输出1 2 输入样例2 7 5 1 2 2 3 3 1 1 4 5 6 输出样例2 3 解题思路: 1. 这题放在并查集的专题后面,有查找也有 ...

最新文章

  1. oracle+nvlif函数,Oracle中的NVL()、NVL2()、NULLIF()、Coalesce()函数
  2. 前端性能优化 Web前端应该从哪些方面来优化网站?
  3. oracle监听无法启动常用解决办法
  4. 资源放送丨《如何从零快速搭建一整套监控体系(日志采集+主机+数据库)》PPT视频...
  5. 哪款浏览器速度最快_全球知名度非常高的火狐浏览器,它好在哪呢?
  6. python 解析html 模块_使用 Python 模块—— HTMLParser 解析 HTML 文档元素
  7. java 正则表达式-忽略大小写与多行匹配
  8. 【原创】中文分词系统 ICTCLAS2015 的JAVA封装和多线程执行(附代码)
  9. switch and router
  10. myeclipse 8.0GA 安装注册步骤
  11. 自动化运维工具ansible的安装部署(图文详解!)
  12. win10程序员计算器中HEX、DEC、OCT和BIN的含义
  13. LBP原理介绍以及算法实现
  14. 四轴飞行器——转动惯量
  15. xp计算机如何查看内存大小,windowsxp系统下如何查看电脑内存条最大频率
  16. python:It seems that scikit-learn has not been built correctly
  17. AD16布局流程及注意事项
  18. IOS appstore 发布
  19. RHCE认证考试教材
  20. 超市管理系统-2(数据库代码以及数据库逻辑)

热门文章

  1. paip.docfile二进制复合文档
  2. 帮助两家基金公司运营蚂蚁财富号以后,PINTEC总结了一些经验
  3. (转)C# 与Rust :知识库
  4. ​云原生:重新定义云时代的技术标准 | 凌云时刻
  5. 龙斗士显示网络和服务器,龙斗士热点问题_百田网帮助中心
  6. 计算机房选址,数据中心机房如何选址 数据中心机房如何日常维护
  7. 【语音去噪】基音matlab GUI音频信号去噪【含Matlab源码 1386期】
  8. 【气动学】基于matlab气动力导弹姿态控制【含Matlab源码 969期】
  9. 【图像边缘检测】基于matlab GUI神经网络算法边缘检测(带面板)【含Matlab源码 1346期】
  10. 【数据分析】基于matlab GUI学生成绩查询系统【含Matlab源码 604期】