“扩展域”与"边带权"的并查集
https://www.luogu.org/problemnew/show/P1196
银河英雄传说
#include<bits/stdc++.h>
using namespace std;
const int maxn=;
int f[maxn],d[maxn],s[maxn]; // f[i]用来记录i节点的根 d[i]记录i所在集合的前面有几个节点 s[i]记录s所在集合中节点的总大小
int n;
void init()//初始化
{
for(int i=; i<=; i++)
{
f[i]=i;
d[i]=;// 初始每个节点前面视为0,每个节点自成一个集合大小为1
s[i]=;
}
}
int getf(int a)
{
if(a==f[a]) return a;
int root=getf(f[a]);
d[a]+=d[f[a]]; // 在将a节点指向新的根节点时,将d[a]更新为从a到根的距离
return f[a]=root; // 压缩路径
}
void merge(int a, int b)
{
int t1,t2;
t1=getf(a);
t2=getf(b);
f[t2]=t1;//靠左原则,将t2合并到t1上
d[t2]=s[t1];// 注意顺序 合并之后t1的大小为t1+t2的和,将d[t2]的距离更新为之前s[t1]的大小
s[t1]+=s[t2];
}
int main()
{
init();
int t;
cin>>t;
char c;
int m,n;
for(int i=; i<=t; i++)
{
cin>>c>>m>>n;
if(c=='C')
{
if(getf(m)!=getf(n))
cout<<"-1"<<endl;
else
cout<<abs(d[m]-d[n])-<<endl;// 战舰之间的距离为两者相减的绝对值再减1
}
else
merge(n,m);// 合并两列的战舰
}
return ;
}
“扩展域”与"边带权"的并查集的更多相关文章
- Codevs 3287 货车运输 2013年NOIP全国联赛提高组(带权LCA+并查集+最大生成树)
3287 货车运输 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 传送门 题目描述 Description A 国有 n 座 ...
- bzoj 1201[HNOI2005]数三角形 1202 [HNOI2005]狡猾的商人 暴力 权值并查集
[HNOI2005]数三角形 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 349 Solved: 234[Submit][Status][Disc ...
- 食物链(带权&种类并查集)
食物链 http://poj.org/problem?id=1182 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9326 ...
- HDU-3038How Many Answers Are Wrong权值并查集
How Many Answers Are Wrong 题意:输入一连串的区间和,问和前面的矛盾个数: 思路:我在做专题,知道是并查集,可是还是不知道怎么做,学了一下权值并查集和大佬的优秀思路,感觉回了 ...
- Poj 1182种类(带权)并查集
题目链接 食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44316 Accepted: 12934 Descriptio ...
- 浅谈并查集&种类并查集&带权并查集
并查集&种类并查集&带权并查集 前言: 因为是学习记录,所以知识讲解+例题推荐+练习题解都是放在一起的qvq 目录 并查集基础知识 并查集基础题目 种类并查集知识 种类并查集题目 并查 ...
- Travel(HDU 5441 2015长春区域赛 带权并查集)
Travel Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- POJ1417:True Liars(DP+带权并查集)
True Liars Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- CodeForces - 688C:NP-Hard Problem (二分图&带权并查集)
Recently, Pari and Arya did some research about NP-Hard problems and they found the minimum vertex c ...
随机推荐
- RubyMine 2017.3.2破解教程
下载地址:http://www.3322.cc/soft/35519.html RubyMine 2017.3.2破解版是一款专为Ruby和Rails开发者准备的IDE(被誉为最智能的Ruby和Rai ...
- JavaScript 基本包装类型,包装对象
前言 javascript对象是一种复合值,它是属性或已命名值的集合.通过'.'符号来引用属性值.当属性值是一个函数时,称其为方法.通过o.m()来调用对象o中的方法.我们发现,字符串也同样具有属性和 ...
- DataBase vs Data Warehouse
Database https://en.wikipedia.org/wiki/Database A database is an organized collection of data.[1] A ...
- RC522射频卡读写模块驱动(仅读取)
目录 说明 测试结果 main RC522.h RC522.c 说明 更改了网上的源代码,仅保留了读取序列号并通过串口回传的功能.版本号:V1 感谢 https://blog.csdn.net/qq_ ...
- mongoDB3.0版本使用express读取数据
使用express连接数据库操作 var express = require('express'); var app = express(); var MongoClient = require('m ...
- Ubuntu18.04更换官方默认更新源sources.list
⒈备份官方默认更新源文件 cp /etc/apt/sources.list /etc/apt/sources.list.bak 备份官方更新源文件 ⒉编辑 1.打开 vi /etc/apt/sourc ...
- 【溯源分析】疑似"摩诃草"组织最新样本分析及域名资产揭露
1)场景 摩诃草组织(APT-C-09),又称HangOver.Patchwork.Dropping Elephant以及白象.该组织归属南亚某国,主要针对中国.巴基斯坦等亚洲国家和地区进行网络间谍活 ...
- LuoGu P4996 咕咕咕
题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...
- js检测数据类型四种办法
面试题中经常会考js数据类型检测,今天我来分享一下js中常用的四种方法判断数据类型,欢迎指点更正. 废话不多说,直入正题. 1.typeof console.log(typeof "&quo ...
- Error: Could not find or load main class Test
问题描述 Linux 环境下运行 Java 程序时,执行 javac Test.java 生成 Test.class 文件,再执行 java Test 时报错:Error: Could not fin ...