Luogu P1892 P1525 团伙 关押罪犯
(怎么都是抓罪犯 怪不得写法差不多)
并查集。以“敌人的敌人是朋友”的思路来处理。所以增加一个e/E数组来存储敌人。
关押罪犯还用到了贪心的思路。将冲突值从大到小排序,如果当前敌对两点在同一集合,直接输出。
团伙:
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int n,m;
#define MAXN 1001
int f[MAXN];
int ex[MAXN]={};
void init()
{
scanf("%d%d",&n,&m);
getchar();
for (int i=1;i<=n;i++)
{
f[i]=i;
}
return;
}
int found(int x)
{
if (f[x]==x) return x;
return f[x]=found(f[x]);
}
inline void unionn(int x,int y)
{
f[found(f[x])]=found(y);
return;
}
int uni()
{
int ans=0;
char z;
for (int i=1,x,y;i<=m;i++)
{
cin>>z;
scanf("%d%d",&x,&y);
if (z=='F')
{
unionn(x,y);
continue;
}
if ((!ex[x])&&(!ex[y]))
{
ex[x]=y;
ex[y]=x;
continue;
}
if (!ex[x])
{
ex[x]=f[y];
unionn(x,ex[y]);
continue;
}
if (!ex[y])
{
ex[y]=f[x];
unionn(y,ex[x]);
continue;
}
f[found(f[y])]=found(ex[x]);
f[found(f[x])]=found(ex[y]);
}
for (int i=1;i<=n;i++)
{
if (f[i]==i)
{
ans++;
}
}
return ans;
}
int main()
{
init();
cout<<uni();
return 0;
}
关押罪犯:
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cmath>
#define MAXN 20005
#define MAXM 100005
using namespace std;
struct naiv
{
int a,b,c;
}e[MAXM];
int n,m;
int f[MAXN];
int E[MAXN]={};
bool cmp(naiv x,naiv y)
{
return x.c>y.c;
}
int find(int x)
{
if (f[x]==x) return x;
return f[x]=find(f[x]);
}
int main()
{
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++)
{
f[i]=i;
}
for (int i=1;i<=m;i++)
{
scanf("%d%d%d",&e[i].a,&e[i].b,&e[i].c);
}
sort(e+1,e+m+1,cmp);
for (int i=1;i<=m;i++)
{
if (find(e[i].a)==find(e[i].b))
{
printf("%d",e[i].c);
return 0;
}
if (!E[e[i].a])
{
E[e[i].a]=e[i].b;
}
else
{
f[find(E[e[i].a])]=find(e[i].b);
}
if (!E[e[i].b])
{
E[e[i].b]=e[i].a;
}
else
{
f[find(E[e[i].b])]=find(e[i].a);
}
}
printf("0");
return 0;
}
Luogu P1892 P1525 团伙 关押罪犯的更多相关文章
- 洛谷 P1525 【关押罪犯】种类并查集
题解 P1525 [关押罪犯]:种类并查集 前言: 在数据结构并查集中,种类并查集属于扩展域并查集一类. 比较典型的题目就是:食物链(比本题难一些,有三个种类存在) 首先讲一下本题的贪心,这个是必须要 ...
- Luogu P1892 [BOI2003]团伙
P1892 [BOI2003]团伙 题目描述 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋友: 我敌人的敌人 ...
- 【并查集】【P1525】关押罪犯
传送门 Description Input Output Sample Input Sample Output Hint Solution 非常显然的并查集题目,在本题中,对于每个罪犯i,维护两个信息 ...
- 【洛谷 P1525】 关押罪犯 (二分图+二分答案)
题目链接 并查集+贪心当然是可以做的. 但我用二分图+二分答案. 二分一个\(mid\),删去所有边权小于等于\(mid\)的边,看有没有奇环存在,如果存在,则\(mid\)不行. #include ...
- 洛谷P1525 关押罪犯(并查集、二分图判定)
本人蒟蒻,只能靠题解AC,看到大佬们的解题思路,%%%%%% https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编 ...
- 洛谷 P1525 关押罪犯
题目链接 https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1−N.他们之间的关系自然也极不和谐.很多罪 ...
- Luogu 1525 【NOIP2010】关押罪犯 (贪心,并查集)
Luogu 1525 [NOIP2010]关押罪犯 (贪心,并查集) Description S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨 ...
- 洛谷 P1525 关押罪犯==codevs 1069 关押罪犯[NOIP 2010]
P1525 关押罪犯 513通过 1.4K提交 题目提供者该用户不存在 标签图论并查集NOIp提高组2010 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 咳咳.竟MLE了. 囧.运行时错误 ...
- Luogu P1892 团伙
Luogu P1892 团伙 这是道很简单的并查集-- 不,它并不简单. 这道题考了一个叫做反集的东西. 也就是说: 如果$a$和$b$是敌人,合并$n+b$和$a$,$n+a$和$b$: 如果$c$ ...
随机推荐
- win7 win10开启网络访问(网络访问 无法访问 网络访问需要输入密码 等问题处理)
狂客原创,转载请注明.侵权必究! 右键单击桌面的“网络”图标 选择“属性”. 在弹出的“网络和共享中心”窗口,点击“更改高级共享设置”. 参考文章:https://jingyan.baidu.com/ ...
- 【Zookeeper系列】Zookeeper简单介绍(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4033574.html 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技 ...
- Android学习:AlertDialog对话框
AlertDialog可以生成各种内容的对话框,它生成的对话框包含4个区域:图标区,标题区,内容区,按钮区 <?xml version="1.0" encoding=&quo ...
- LDA总结 (一) 共轭分布
今天开始,复习一下 LDA ,记录一些 LDA 的关键步骤,为写好论文做铺垫.第一节的主题是共轭分布,回忆贝叶斯公式: \[p(\theta|X) = \frac{p(\theta) \cdot p( ...
- vue+axios如何操作数据交互
参考: http://www.php.cn/js-tutorial-403543.html
- hdu 4486 Pen Counts
Pen Counts Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- react+mobx 编写 withStoreHistory 装饰器
主要作用是向store里面注入一个history对象,方便story里面的函数调用 function withStoreHistory(storeName) { if (!storeName) ret ...
- ubuntu下搭建LAMP环境
本文参考:http://www.linuxdiyf.com/linux/21265.html 请支持原创. 步骤一:安装apache root@mrwang:~$ sudo apt install a ...
- CentOS从源码安装Erlang
### 首先下载资源 wget http://erlang.org/download/otp_src_18.3.tar.gz ### 解压 .tar.gz ### 安装依赖包 yum install ...
- AngularJS资源合集[备忘]【申明:来源于网络】
AngularJS资源合集[备忘][申明:来源于网络] 地址:http://blog.csdn.net/allgis/article/details/44646597