P1196 [NOI2002] 银河英雄传说 (并查集 合并
添加链接描述
#include<bits/stdc++.h>
using namespace std;
const int N=5e5+9;
int fa[N],sum[N],front[N];
int find(int x){if(x==fa[x])return fa[x];int fn=find(fa[x]);//先找到根front[x]+=front[fa[x]];//合并他的父节点return fa[x]=fn;//返回
}
int main(){for(int i=1;i<=5e5;i++){fa[i]=i;sum[i]=1;front[i]=0;}int T;cin>>T;while(T--){char ch;cin>>ch;int a,b;cin>>a>>b;if(ch=='M'){a=find(a),b=find(b);if(a!=b){front[a]+=sum[b];//a的前面加上b的队伍sum[b]+=sum[a];//b的队伍加上后面跟的asum[a]=0;//!!a为0fa[a]=b;//合并}}else {if(find(a)==find(b)){cout<<abs(front[a]-front[b])-1<<"\n";}else cout<<"-1\n";}}return 0;
}
P1196 [NOI2002] 银河英雄传说 (并查集 合并相关推荐
- 算法(并查集--合并集合)
并查集–合并集合 一共有n个数,编号是1~n,最开始每个数各自在一个集合中. 现在要进行m个操作,操作共有两种: "M a b",将编号为a和b的两个数所在的集合合并,如果两个数已 ...
- 洛谷 P1196 [NOI2002]银河英雄传说 带权并查集
https://www.luogu.org/problem/P1196 题目描述 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展 ...
- P1196 [NOI2002] 银河英雄传说(带边权并查集)
P1196 [NOI2002] 银河英雄传说https://www.luogu.com.cn/problem/P1196 #include <iostream> #include < ...
- 【CF566#D】 Restructuring Company (并查集---合并区间操作)
题干: Even the most successful company can go through a crisis period when you have to make a hard dec ...
- NOI银河英雄传说(并查集)
问题: 解决: 思路上比较简单,利用并查集 1.合并操作,直接将两个元素所在的树合并,并且将新的树里每个元素到根节点的距离更新 2.查询操作,有两种情况 a.两元素不在同一棵树里,说明距离无法计算,输 ...
- 238. 银河英雄传说(并查集,扩展域)
238. 银河英雄传说 - AcWing题库 分析: 由于要求i,j战舰之间的距离,我们就应该想到拓展域 拓展域要实现: 能够计算第i艘战舰到第j艘战舰距离 我们可以用一个拓展域来存储战舰 ...
- Codeforces Gym 101194G Pandaria (2016 ACM-ICPC EC-Final G题, 并查集 + 线段树合并)
题目链接 2016 ACM-ICPC EC-Final Problem G 题意 给定一个无向图.每个点有一种颜色. 现在给定$q$个询问,每次询问$x$和$w$,求所有能通过边权值不超过$w$的 ...
- 学习笔记——拓展域并查集和带权并查集
1,拓展域并查集 一般的并查集只能查找出各元素之间是否存在某一种相同的联系,如:a和b是亲戚关系,b和c是亲戚关系,这时就可以查找出a和c也存在亲戚关系.但如果存在多种相对的联系时一般的并查集就不行了 ...
- bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞
没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...
最新文章
- Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)
- 企业数字化转型,AI平台能力建设是关键
- 创建非矩形的Windows 窗体
- Leetcode--322. 零钱兑换
- CentOS网络配置解决方案
- C语言头文件#includestdlib.h的作用
- 安装scrapy报错
- GDAL根据Shape文件切图(java)
- 软件体系结构六大质量属性-浅析淘宝网
- 万字干货:阿里巴巴是怎么做大数据算法应用测试的? | 凌云时刻
- 2023苏州科技大学计算机考研信息汇总
- 迅盘从入门到精通 彻底告别WIN7关机烦恼 T400亲测
- 什么是云平台_云短信发送平台有什么优势?
- java获取手机通讯录权限_Android读取手机通讯录联系人到自己项目
- Android Service的启动过程
- Vue3+ElementPlus网页端聊天|vue3.0仿微信/QQ界面实例
- GitHub 上传大小限制 大文件无法上传问题!
- Mask TextSpotter 算法笔记
- Oracle中一个汉字占几个字节
- 【嵌入式系统开发15】STM32F103C8T6下通过定时器Timer方式实现时间的精准控制,实现串口通信并让LED等周期性地闪烁