跟P1892团伙的做法类似。

除了用数组保存敌人编号之外,还有另一种做法。

团伙:合并时,用i节点表示为友,i+n结点表示为敌。

本题:合并时,用i节点表示同一监狱,i+n结点表示不同监狱。

按边权从大到小枚举边,贪心地把边连接的两个结点设定为不同监狱(为敌)

遇到冲突后说明必须在同一个监狱,此时输出权值,即为冲突的最大值。

#include<cstdio>
#include<algorithm>
using namespace std;int n,m,cnt,fa[100005],ans;struct edge{int u,v,w;
}e[100005];inline void add(int u,int v,int w){e[++cnt].u=u;e[cnt].v=v;e[cnt].w=w;
}inline int cmp(edge x,edge y){return x.w>y.w;
}inline int getfa(int v){if(fa[v]==v)return v;fa[v]=getfa(fa[v]);return fa[v];
}inline void merge(int x,int y){x=getfa(x);y=getfa(y);fa[y]=x;
}int main(){scanf("%d%d",&n,&m);for(int i=1;i<=2*n;i++)fa[i]=i;for(int i=1;i<=m;i++){int u,v,w;scanf("%d%d%d",&u,&v,&w);add(u,v,w);}sort(e+1,e+cnt+1,cmp);for(int i=1;i<=cnt;i++){int u=e[i].u,v=e[i].v;int fau=getfa(u),fav=getfa(v);if(fau!=fav){merge(u,v+n);merge(v,u+n);}else{printf("%d\n",e[i].w);return 0;}}printf("0\n");//洛谷第一个点卡0
}

转载于:https://www.cnblogs.com/Y15BeTa/p/11427577.html

Luogu P1525 【关押罪犯】相关推荐

  1. 洛谷P1525 关押罪犯

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

  2. P1525 关押罪犯

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

  3. P1525关押罪犯(并查集补集)

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

  4. P1525 关押罪犯(扩展域并查集/二分图)

    洛谷题目链接 输入 4 6 1 4 2534 2 3 3512 1 2 28351 1 3 6618 2 4 1805 3 4 12884 输出 3512 1.并查集 有意思的一道并查集的题,需要一些 ...

  5. NOIP2010关押罪犯题解(洛谷P1525) (并查集)

    NOIP2010关押罪犯题解(洛谷P1525) (并查集) 日常膜拜dalao:财神万岁!!!!!!!!!!!!!!!!!!!!! 日常凌晨三点水题解..(原谅我中间断更了几天,,马上分班考试了竞赛顾 ...

  6. #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯

    洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯 #题目描述 #一看很明显是贪心算法 加排序 因为 这个中间最大值的那一对肯定是不会在一起的 从大到小来看 所有点对都尽量不要在一个监狱 # ...

  7. [NOIP2010提高组]关押罪犯

    题目:洛谷P1525.Vijos P1776.codevs1069. 题目大意:有一些罪犯,两个罪犯之间可能会发生冲突,冲突有个影响力,而如果两个罪犯在不同监狱里,就可以避免冲突.现在有两个监狱,要你 ...

  8. 关押罪犯-并查集、贪心

    题目来源:Acwing 257.关押罪犯&洛谷 P1525 [NOIP2010 提高组] 关押罪犯 思路来源:这里 题目描述 S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N. 他 ...

  9. 专题突破三之并查集Ⅱ——星球大战,In Touch,方格染色,Junk-Mail Filter,关押罪犯,Silver Woods,Must Be Rectangular!

    文章目录 [JSOI2008]星球大战 In Touch 方格染色 Junk-Mail Filter [NOIP2010 提高组] 关押罪犯 Silver Woods Must Be Rectangu ...

  10. 并查集的补集 (关押罪犯)

    定义元素T的逆为t,t一定不在包含T的集合里 因为对于两个需要分配在不同集合的元素A.B,我们并不知道具体该怎么分,所以就令元素A和b在一起,元素B和a在一起. 避免了直接分配A,B到哪一个集合的问题 ...

最新文章

  1. HTML-通知公告Tips
  2. 两个数组合成一个json对象_两个jsonarray合并
  3. 【编译打包】fastdfs-5.0.5-7.el7.centos.src.rpm
  4. ubuntu 18.04,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法
  5. Open3d之计算源点云与目标云的距离
  6. 北京信息科技大学计算机专业学科评估,北京信息科技大学学科评估结果排名(第四次):最新完整...
  7. 如果查看oracle_home是否共享_现在还有小伙伴用XP系统吗?经常会共享打印问题...
  8. 二分查找, 插入位置
  9. TakeColor 屏幕取色器 8.0 中文绿色版
  10. kuangbin新模板错误
  11. 地图制作:Google Earth Pro的下载及功能介绍(详细介绍)(上)
  12. 视频剪辑素材哪里找?这个几个网站就够了。
  13. 如何启用计算机的远程服务,如何启用远程Windows命令行管理程序
  14. Windows Anaconda Pytorch pkgs安装 - 相关问题
  15. 中国电子科技集团公司成员单位一览表
  16. 【SAMF】A Scale Adaptive Kernel Correlation Filter Tracker with Feature Integration 论文阅读笔记
  17. 大众点评网谈成功秘诀:明白用户感兴趣、需要和寻找的是什么
  18. ubuntu 源更新
  19. json对象与json字符串互转,ajax各常见函数
  20. 计算复利java代码_【软件工程】复利计算程序单元测试

热门文章

  1. android五子棋设计模板,基于android的五子棋游戏设计
  2. 【设计模式系列】行为型之策略模式
  3. 规划System Center 2012 R2 Operations manager
  4. 以普通用户启动的Vim如何保存需要root权限的文件
  5. JavaScript DOM编程艺术学习笔记(一)
  6. Uva 11178 Morley's Theorem 向量旋转+求直线交点
  7. v-html可能导致的问题
  8. 字符串中的第一个唯一字符
  9. updatedb命令
  10. python模块cv2人脸识别_Python基于Opencv来快速实现人脸识别过程详解(完整版)