Luogu P1525 关押罪犯

Posted mogeko

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu P1525 关押罪犯相关的知识,希望对你有一定的参考价值。

传送门

 

技术分享图片
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn = 20005;
int fa[maxn],q[maxn];
int n,m;
struct abc {
    int a,b,c;
} p[200005];

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 = 1;i <= n;i++)
        fa[i] = i;
    for(int i = 1; i <= m; i++)
        scanf("%d%d%d",&p[i].a,&p[i].b,&p[i].c);
    sort(p+1,p+m+1,cmp);
    for(int i = 1; i <= m; i++) {
        if(getfather(p[i].a) == getfather(p[i].b)){
            printf("%d",p[i].c);
            return 0;
        }
        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("0");
    return 0;
}
View Code

 

以上是关于Luogu P1525 关押罪犯的主要内容,如果未能解决你的问题,请参考以下文章

Luogu P1525 关押罪犯

洛谷P1525关押罪犯——二分做法

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

洛谷——P1525 关押罪犯

洛谷 P1525 关押罪犯 题解

P1525 关押罪犯 并查集