团伙 并查集_BZOJ 1370 Baltic2003 Gang团伙 并查集
题目大意:给定n个人,朋友的朋友是朋友,敌人的敌人是朋友,朋友之间组成一个团伙,求团伙数
将每个点x拆成两个:x和x+n
如果x和y是朋友,就将x和y合并
如果x和y是敌人,就将x和y+n合并,将y和x+n合并
注意敌人的朋友不一定是敌人,因此如果x和y是朋友,不能将x+n和y+n合并
#include
#include
#include
#include
#define M 1010
using namespace std;
int n,m,ans,a[M];
namespace Union_Find_Set{
int fa[M<<1];
int Find(int x)
{
if(!fa[x]||fa[x]==x)
return fa[x]=x;
return fa[x]=Find(fa[x]);
}
void Union(int x,int y)
{
x=Find(x);y=Find(y);
if(x==y) return ;
fa[x]=y;
}
}
int main()
{
using namespace Union_Find_Set;
int i,x,y;
char p[10];
cin>>n>>m;
for(i=1;i<=m;i++)
{
scanf("%s%d%d",p,&x,&y);
if(p[0]=='F')
Union(x,y);//Union(x+n,y+n);
else
Union(x,y+n),Union(x+n,y);
}
for(i=1;i<=n;i++)
a[i]=Find(i);
sort(a+1,a+n+1);
for(i=1;i<=n;i++)
if(i==1||a[i]!=a[i-1])
++ans;
cout<
return 0;
}
原文:http://blog.csdn.net/popoqqq/article/details/42919219
团伙 并查集_BZOJ 1370 Baltic2003 Gang团伙 并查集相关推荐
- BZOJ 1370: [Baltic2003]Gang团伙 [并查集 拆点 | 种类并查集WA]
题意: 朋友的朋友是朋友,敌人的敌人是朋友:朋友形成团伙,求最多有多少团伙 种类并查集WA了一节课,原因是,只有那两种关系才成立,诸如朋友的敌人是朋友之类的都不成立! 所以拆点做吧 #include ...
- 【bzoj1370】[Baltic2003]Gang团伙 并查集
题目描述 在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足: 1. 我朋友的朋友是我的朋友: 2. 我敌人的敌人是我的朋友: 所有是朋友的人组成一个团伙.告诉你关于这n个人的m条信息, ...
- BZOJ1370 [Baltic2003]Gang团伙
20多天没写题啊...连键盘长什么样都忘了额... 用这道并查集水题练手2333 1 /******************************************************** ...
- 精讲并查集经典习题:P1892 [BOI2003]团伙(超详细)
一,需要开o2才能AC的代码 用emys[i]存储第i个人的敌人数,vector<long long>emyr[i]存储i个人的所以敌人,fa[i]存储第i个人的大boss. 1.初始化 ...
- 并查集,不就一并和一查?
什么是并查集 并查集这种数据结构,可能出现的频率不是那么高,但是还会经常性的见到,其理解学习起来非常容易,通过本文,一定能够轻轻松松搞定并查集! 对于一种数据结构,肯定是有自己的应用场景和特性,那么并 ...
- mysql 数据库集群搭建:(四)pacemaker管理三台maxscale集群,搭建mariadb读写分离中间层集群...
为什么80%的码农都做不了架构师?>>> <mysql 数据库集群搭建:(一)VirtualBox中多台CentOS虚拟机间和windows主机间互通以及访问互联网设置& ...
- Python计算医疗数据训练集、测试集的对应的临床特征:训练集(测试集)的阴性和阳性的样本个数、连续变量的均值(标准差)以及训练测试集阳性阴性的p值、离散变量的分类统计、比率、训练测试集阳性阴性的p值
Python使用pandas和scipy计算医疗数据训练集.测试集的对应的临床特征:训练集(测试集)的阴性和阳性的样本个数.连续变量的均值(标准差
- MAT之PLS:利用PLS(两个主成分的贡献率就可达100%)提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》
MAT之PLS:利用PLS(两个主成分的贡献率就可达100%)提高测试集辛烷值含量预测准确度并<测试集辛烷值含量预测结果对比> 目录 输出结果 实现代码 输出结果 实现代码 load sp ...
- MAT之PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》
MAT之PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并<测试集辛烷值含量预测结果对比> 目录 输出结果 实现代码 输出结果 后期更新-- 实现代 ...
最新文章
- 蓝桥杯 算法训练 最大的算式
- 科大星云诗社动态20210523
- POj 3420 Quad Tiling 状态压缩DP+递推+矩阵快速幂
- ufs2.0测试软件,UFS 2.1和UFS 2.0差距到底多大?跑分还有很多学问
- android studio中tabhost自定义,Android Studio——TabWiget组件实现(带图标签)
- 100句激励自己的英文名言
- 性能测试入门,其实很简单,看看这篇,好好学习
- 朱老师ARM裸机学习笔记(四):S5PV210启动过程详解
- Android开发是简单的「能写应用就行」吗?复习指南
- js 类似发微博或者微信朋友圈的时间显示 刚刚 几天前
- 团队协作与团队内部竞争_为什么您的团队可能在协作游戏中失败
- 互联网赚钱的项目有哪些?6个互联网赚钱模式
- 什么样的教育是真正有意义的?---范美忠
- Linux下安装tuned以使用tuned-adm命令优化Linux系统性能
- 如何预防arp欺骗以及c#如何自动绑定网关的mac地址?
- 名词解释atm网络_计算机网络名词解释大全
- Adobe Photoshop(ps)
- CTF中常见密码学(一)
- 微型计算机测控系统课程设计报告,微机原理课程设计实验报告--步进电机控制.docx...
- Hantek 5000系列示波器原理图研究
热门文章
- IT测试时准确数据的技巧(IT总结之三去除旧数据)
- 20100929 朝会内容
- 网络管理与维护作业10
- Android TextView文字超出一屏不能显示其它的文字 解决方案
- System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常
- 记因循环依赖的解决方案
- 解决局域网共享问题,提示:无法访问,你可能没有权限使用网络资源
- 如何在Java项目中查找未使用/无效的代码
- 在Java中编码为Base64
- 如何实施基本的“长轮询”?