传送门

首先 这是一个并查集= =

这道题其实明白了还挺简单的qwq

思路:

因为只看仇恨值最大的一对儿,所以把他们从大到小排序,越大的就尽量分开,直到不能再分为止qwq

  • q[x]表示x最大的敌人(x对q[x]的仇恨值最大);
  • 如果x已经有了最大的敌人q[x],那么y就该跟q[x]分到一起;否则q[x] = y;
  • 所以并查集存的不是两个监狱!存的是“因为有共同敌人而被(勉为其难的)划分到一起的罪犯”;
  • 这几个并查集由于“敌人的敌人”一点点合并到一起;
  • 当目前最大的一对儿敌人已经被分到一个监狱的时候,就说明分不开了,输出。

一些细节:

  • 初始化(fa[i] = i)
  • 判断父亲的时候要用getfather(x)而不是fa[x](因为还没求...)(所以还是先写个xx = getfather(x)吧!)
  • 同样的,合并的时候,用“xx = getfather(x); yy = getfather(y); fa[x] = y;”,
  • 不能写fa[fa[x]]  (fa又不是函数!),也不能写getfather(getfather(x))  (getfather也不是整数!)
  • 结构体p存的是罪犯关系对数,每一个代表a,b的编号和他们的仇恨值c,所以数组大小是1e6(RE了4次qaq) ——“那你为啥开2e5”
  • 如果有冲突的话输出并直接return 0,没有的话循环结束后就输出0!(这个不看题解自己是想不到的qwq)
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn = ;
int fa[maxn],q[maxn];
int n,m;
struct abc {
int a,b,c;
} p[]; int cmp(abc x,abc y) {
return x.c > y.c;
} int getfather(int x) {
if(x == fa[x])return x;
fa[x] = getfather(fa[x]);
return fa[x];
} void add(int x,int y){
x = getfather(x);
y = getfather(y);
fa[x] = y;
} int main() {
scanf("%d%d",&n,&m);
for(int i = ;i <= n;i++)
fa[i] = i;
for(int i = ; i <= m; i++)
scanf("%d%d%d",&p[i].a,&p[i].b,&p[i].c);
sort(p+,p+m+,cmp);
for(int i = ; i <= m; i++) {
if(getfather(p[i].a) == getfather(p[i].b)){
printf("%d",p[i].c);
return ;
}
if(!q[p[i].a])q[p[i].a] = p[i].b;
else add(q[p[i].a],p[i].b);
if(!q[p[i].b])q[p[i].b] = p[i].a;
else add(q[p[i].b],p[i].a); }
printf("");
return ;
}

Luogu P1525 关押罪犯的更多相关文章

  1. NOIp 2010/Luogu P1525 关押罪犯 【二分图/并查集】 By cellur925

    题目传送门 感想:相信自己的想法!继续挖掘! 读完题目后:看到的最大值最小?二分答案啊!再仔细一看:wi达到了1e9,二分可能费点劲.(其实真的是可以的)而且check函数貌似并没有什么行之有效的写法 ...

  2. 洛谷 P1525 关押罪犯

    题目链接 https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1−N.他们之间的关系自然也极不和谐.很多罪 ...

  3. 洛谷 P1525 关押罪犯==codevs 1069 关押罪犯[NOIP 2010]

    P1525 关押罪犯 513通过 1.4K提交 题目提供者该用户不存在 标签图论并查集NOIp提高组2010 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 咳咳.竟MLE了. 囧.运行时错误 ...

  4. 洛谷P1525 关押罪犯(并查集、二分图判定)

    本人蒟蒻,只能靠题解AC,看到大佬们的解题思路,%%%%%% https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编 ...

  5. [NOIP2010] 提高组 洛谷P1525 关押罪犯

    刚才做并查集想到了这道以前做的题,干脆一并放上来 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可 ...

  6. 洛谷P1525 关押罪犯

    To 洛谷.1525 关押罪犯 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用 ...

  7. 【题解】洛谷 P1525 关押罪犯

    题目 https://www.luogu.org/problemnew/show/P1525 思路 把所有边sort一遍从大到小排列 运用并查集思想敌人的敌人就是朋友 从最大边开始查找连着的两个罪犯 ...

  8. 洛谷——P1525 关押罪犯

    https://www.luogu.org/problem/show?pid=1525 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间 ...

  9. P1525 关押罪犯 并查集

    题目描述 SS城现有两座监狱,一共关押着NN名罪犯,编号分别为1-N1−N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”(一个正整数值) ...

随机推荐

  1. SpringBoot注解验证参数

    SpringBoot注解验证参数 废话不多说,直接上表格说明: 注解 作用类型 解释 @NotNull 任何类型 属性不能为null @NotEmpty 集合 集合不能为null,且size大于0 @ ...

  2. 9种网页Flash焦点图和jQuery焦点图幻灯片

    jQuery图标放大轮播焦点图 Flash图片焦点图滑动切换 Flash右侧焦点图上下滑动切换 左右按钮滑动切换的网页幻灯片 双图同时滑动切换的焦点图 含有上下按钮的双图同时滑动切换的焦点图 常见的j ...

  3. Django Rest framework 之 序列化

    RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...

  4. cdn原理的理解

    今天要做个小笔记,浅谈一下对cdn的一些理解,在工作中我们经常用到cdn代理访问,那他的原理是什么不知道大家有没有考虑过 CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集 ...

  5. NoHttp封装--05 文件下载

    xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la ...

  6. 【Java入门提高篇】Day31 Java容器类详解(十三)TreeSet详解

    上一篇很水的介绍完了TreeMap,这一篇来看看更水的TreeSet. 本文将从以下几个角度进行展开: 1.TreeSet简介和使用栗子 2.TreeSet源码分析 本篇大约需食用10分钟,各位看官请 ...

  7. Python:GUI之tkinter学习笔记1控件的介绍及使用

    相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...

  8. linux系统运行状态检查

    目录 1 CPU状态检查 1.1 运行时间 1.2 CPU占用率 1.3 单核占用率 2 内存状态检查 2.1 内存占用率 2.2 交换分区占用率 3 磁盘状态检查 3.1 系统磁盘容量占用率 3.2 ...

  9. ASP.NET Boilerplate 学习

    1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: 3.在AbpTest.Web.Host项目的ap ...

  10. entity framework异常 The specified cast from a materialized 'System.Int32' type to the 'System.String' type is not valid

    ROW_NUMBER() OVER (ORDER BY (select Null)) AS Id entity framework 查询中有这句会有异常