zoukankan      html  css  js  c++  java
  • BZOJ 3390 Bad Cowtractors牛的报复

    HAHAHA奶牛题。。。。最大生成树。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define maxv 2050
    #define maxe 40050
    using namespace std;
    struct edge
    {
        int u,v,w;
    }e[maxe];
    int n,m,father[maxv],ans=0;
    bool cmp(edge x,edge y)
    {
        return x.w>y.w;
    }
    int getfather(int x)
    {
        if (x!=father[x])
            father[x]=getfather(father[x]);
        return father[x];
    }
    void kruskal()
    {
        for (int i=1;i<=n;i++) father[i]=i;
        sort(e+1,e+m+1,cmp);
        for (int i=1;i<=m;i++)
        {
            int u=e[i].u,v=e[i].v,w=e[i].w;
            int f1=getfather(u),f2=getfather(v);
            if (f1!=f2) {father[f1]=f2;ans+=w;}
        }
    }
    bool check()
    {
        for (int i=2;i<=n;i++)
        {
            if (getfather(i)!=getfather(i-1))
                return false;
        }
        return true;
    }
    int main()
    {
        scanf("%d%d",&n,&m);
        for (int i=1;i<=m;i++)
            scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
        kruskal();
        if (check()) printf("%d
    ",ans);
        else printf("-1
    ");
        return 0;
    }
  • 相关阅读:
    交换相邻字符(CharBuffer)
    ANSI和UNICODE
    关键路径
    拓扑排序 java
    MySql 中group by使用
    面试题2
    面试题
    K8S如何限制资源使用
    Kubernetes中配置Pod的liveness和readiness探针
    sed入门详解教程
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/5433123.html
Copyright © 2011-2022 走看看