关押罪犯解题报告
来源:互联网 发布:win平板cad软件 编辑:程序博客网 时间:2024/05/07 01:04
典型的并查集,还是很不错的一道题,由于我是刚做完团伙后做的,所以很快有了思路。首先建立一个敌人的集合,根据怨气值排序,再根据敌人的敌人就是我的朋友的原则,将一个罪犯与另一个敌人的集合合并,若两人在同一集合就输出他们的怨气值。后看了大牛的思路是直接开两倍的数组,一半表示敌对关系。以下是改进后的代码:
#include<iostream>#include<algorithm>using namespace std;int f[50000];struct edge{int a;int b;int c;}p[100010];int cmp(edge x,edge y){return x.c>y.c;}int find(int x){if(f[x]==x)return x;return find(f[x]);}int main(){int n,m,x,y;cin>>n>>m;for(int i=1;i<=m;i++)cin>>p[i].a>>p[i].b>>p[i].c;for(int i=1;i<=2*n;i++)f[i]=i;sort(p+1,p+m+1,cmp);for(int i=1;i<=m;i++){x=find(p[i].a);y=find(p[i].b);if(x==y){cout<<p[i].c;return 0;}f[p[i].a]=find(p[i].b+n); f[p[i].b]=find(p[i].a+n);}return 0; }
0 0
- 关押罪犯解题报告
- [NOIP2010] 关押罪犯-解题报告
- 10 noip 关押罪犯 解题报告
- 【NOIP2010TG/codevs1069】 关押罪犯 解题报告
- NOIP2010提高组 关押罪犯 解题报告
- NOIP2010 关押罪犯 解题报告(并查集,补集判断思想)
- Noip 2010 解题报告(机器翻译,乌龟棋,关押罪犯,引水入城)
- NOIP 2010 解题报告(机器翻译,乌龟棋,关押罪犯,引水入城)
- 关押罪犯
- 关押罪犯
- 关押罪犯
- 关押罪犯
- 关押罪犯
- 关押罪犯
- 关押罪犯
- 关押罪犯
- 关押罪犯
- 关押罪犯
- C#泛型数据结构和特点
- android任务栈及activity四种启动模式
- 参数指定的值为5
- C程序设计语言抄写第一章
- javaBean总结
- 关押罪犯解题报告
- 微信android app支付坑点一览(我自己所碰到的)
- 快速排序算法
- php session失效
- 周志华机器学习(西瓜书)pdf+2014斯坦福大学机器学习mkv视频
- SSH框架之VO配置
- 树莓派连接触摸屏
- Java中栈的用法
- 详解 Python 中的下划线命名规则