Luogu P1525 【关押罪犯】
跟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 【关押罪犯】相关推荐
- 洛谷P1525 关押罪犯
P1525 关押罪犯 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用" ...
- P1525 关押罪犯
题目描述 SS 城现有两座监狱,一共关押着 NN 名罪犯,编号分别为 1-N1−N .他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气 ...
- P1525关押罪犯(并查集补集)
问题传送门 问题描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1-N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气值&qu ...
- P1525 关押罪犯(扩展域并查集/二分图)
洛谷题目链接 输入 4 6 1 4 2534 2 3 3512 1 2 28351 1 3 6618 2 4 1805 3 4 12884 输出 3512 1.并查集 有意思的一道并查集的题,需要一些 ...
- NOIP2010关押罪犯题解(洛谷P1525) (并查集)
NOIP2010关押罪犯题解(洛谷P1525) (并查集) 日常膜拜dalao:财神万岁!!!!!!!!!!!!!!!!!!!!! 日常凌晨三点水题解..(原谅我中间断更了几天,,马上分班考试了竞赛顾 ...
- #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯
洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯 #题目描述 #一看很明显是贪心算法 加排序 因为 这个中间最大值的那一对肯定是不会在一起的 从大到小来看 所有点对都尽量不要在一个监狱 # ...
- [NOIP2010提高组]关押罪犯
题目:洛谷P1525.Vijos P1776.codevs1069. 题目大意:有一些罪犯,两个罪犯之间可能会发生冲突,冲突有个影响力,而如果两个罪犯在不同监狱里,就可以避免冲突.现在有两个监狱,要你 ...
- 关押罪犯-并查集、贪心
题目来源:Acwing 257.关押罪犯&洛谷 P1525 [NOIP2010 提高组] 关押罪犯 思路来源:这里 题目描述 S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N. 他 ...
- 专题突破三之并查集Ⅱ——星球大战,In Touch,方格染色,Junk-Mail Filter,关押罪犯,Silver Woods,Must Be Rectangular!
文章目录 [JSOI2008]星球大战 In Touch 方格染色 Junk-Mail Filter [NOIP2010 提高组] 关押罪犯 Silver Woods Must Be Rectangu ...
- 并查集的补集 (关押罪犯)
定义元素T的逆为t,t一定不在包含T的集合里 因为对于两个需要分配在不同集合的元素A.B,我们并不知道具体该怎么分,所以就令元素A和b在一起,元素B和a在一起. 避免了直接分配A,B到哪一个集合的问题 ...
最新文章
- HTML-通知公告Tips
- 两个数组合成一个json对象_两个jsonarray合并
- 【编译打包】fastdfs-5.0.5-7.el7.centos.src.rpm
- ubuntu 18.04,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法
- Open3d之计算源点云与目标云的距离
- 北京信息科技大学计算机专业学科评估,北京信息科技大学学科评估结果排名(第四次):最新完整...
- 如果查看oracle_home是否共享_现在还有小伙伴用XP系统吗?经常会共享打印问题...
- 二分查找, 插入位置
- TakeColor 屏幕取色器 8.0 中文绿色版
- kuangbin新模板错误
- 地图制作:Google Earth Pro的下载及功能介绍(详细介绍)(上)
- 视频剪辑素材哪里找?这个几个网站就够了。
- 如何启用计算机的远程服务,如何启用远程Windows命令行管理程序
- Windows Anaconda Pytorch pkgs安装 - 相关问题
- 中国电子科技集团公司成员单位一览表
- 【SAMF】A Scale Adaptive Kernel Correlation Filter Tracker with Feature Integration 论文阅读笔记
- 大众点评网谈成功秘诀:明白用户感兴趣、需要和寻找的是什么
- ubuntu 源更新
- json对象与json字符串互转,ajax各常见函数
- 计算复利java代码_【软件工程】复利计算程序单元测试