zoukankan      html  css  js  c++  java
  • 【kruscal】【最小生成树】poj2421 Constructing Roads

    SB题,求最小生成树,其中有些边已经给您建好啦。

    随意暴力即可。

     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 int rank[10001],fa[10001],n,m,a[101][101],q,x,y,f1,f2,ans;
     6 void init(){for(int i=1;i<=n;i++) fa[i]=i;}
     7 int findroot(int x) 
     8 {
     9     if(fa[x]==x) return x;
    10     int rt=findroot(fa[x]);
    11     fa[x]=rt;
    12     return rt;
    13 }
    14 void Union(int U,int V)
    15 {
    16     if(rank[U]<rank[V]) fa[U]=V;
    17     else
    18       {
    19         fa[V]=U;
    20         if(rank[U]==rank[V]) rank[U]++;
    21       }
    22 }
    23 struct Edge{int u,v,w;Edge(const int &a,const int &b,const int &c){u=a;v=b;w=c;}Edge(){}};
    24 bool cmp(const Edge &a,const Edge &b){return a.w<b.w;}
    25 Edge edges[10001];
    26 int main()
    27 {
    28     scanf("%d",&n);
    29     for(int i=1;i<=n;i++)
    30       for(int j=1;j<=n;j++)
    31         scanf("%d",&a[i][j]);
    32     for(int i=1;i<=n;i++)
    33       for(int j=i+1;j<=n;j++)
    34         edges[++m]=Edge(i,j,a[i][j]);
    35     sort(edges+1,edges+m+1,cmp);
    36     scanf("%d",&q);
    37     init();
    38     for(int i=1;i<=q;i++)
    39       {
    40           scanf("%d%d",&x,&y);
    41           f1=findroot(x); f2=findroot(y);
    42           if(f1!=f2) Union(f1,f2);
    43       }
    44     for(int i=1;i<=m;i++)
    45       {
    46           f1=findroot(edges[i].u); f2=findroot(edges[i].v);
    47           if(f1!=f2)
    48           {
    49               Union(f1,f2);
    50               ans+=edges[i].w;
    51           }
    52       }
    53     printf("%d
    ",ans);
    54     return 0;
    55 }
  • 相关阅读:
    vue学习目录
    充分利用 SQL Server Reporting Services 图表
    MSCRM 用户登录日志
    Microsoft Dynamics CRM MVP
    在SSRS 里实现 SUMIF
    MSCRM 报表显示 rsprocessingaborted 错误
    电商CRM的痛点在哪里?
    MSCRM 2011/2013/2015 修改显示记录数
    MSCRM 2013/2015 Ribbon Editor
    Q:解决每天第一次打开MSCRM系统展示慢的问题
  • 原文地址:https://www.cnblogs.com/autsky-jadek/p/4004986.html
Copyright © 2011-2022 走看看