关押罪犯——大概可以称得上是巧用并查集吧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关押罪犯——大概可以称得上是巧用并查集吧相关的知识,希望对你有一定的参考价值。

  两个监狱,1~n 是一个,n+1~2n 是另一个。

技术分享
 1 #include<algorithm>
 2 #include<iostream>
 3 #include<cstdio>
 4 using namespace std;
 5 const int N=40086,M=100086;
 6 struct node{
 7     int x,y,v;
 8     bool operator < (const node oth) const {return v>oth.v;}
 9 }e[M];
10 int n,m,fth[N];
11 int fnd(int x){return x==fth[x]?x:fth[x]=fnd(fth[x]);}
12 int main(){
13     for(int i=0;i<N;i++)fth[i]=i;
14     cin>>n>>m;
15     for(int i=1;i<=m;i++)scanf("%d%d%d",&e[i].x,&e[i].y,&e[i].v);
16     sort(e+1,e+1+m);
17     for(int i=1;i<=m;i++){
18         int u=fnd(e[i].x),v=fnd(e[i].y);
19         if(u==v){
20             cout<<e[i].v<<endl;
21             return 0;
22         }
23         fth[u]=fnd(e[i].y+n);
24         fth[v]=fnd(e[i].x+n);
25     }
26     cout<<0<<endl;
27     return 0;
28 }
Method_01

  Vijos 165ms

以上是关于关押罪犯——大概可以称得上是巧用并查集吧的主要内容,如果未能解决你的问题,请参考以下文章

luogu1525关押罪犯

洛谷P1525关押罪犯——并查集

并查集关押罪犯

并查集P1525关押罪犯

[noip2010]关押罪犯 并查集

并查集关押罪犯