• 【luogu P3366 最小生成树】 模板


    这里是kruskal做法

    当然prim也可以,至于prim和kruskal的比较:

    Prim在稠密图中比Kruskal优,Kruskal在稀疏图中比Prim优。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int fa[200001];
     4 struct edge{
     5     int u;
     6     int v;
     7     int w;
     8 }e[200001];
     9 int cmp(edge a,edge b)
    10 {
    11     return a.w<b.w;
    12 }
    13 int find(int x)
    14 {
    15     return fa[x]==x?x:fa[x]=find(fa[x]);
    16 }    
    17 long long cnt=0;
    18 long long ans=0;
    19 long long n,m;
    20 int main()
    21 {
    22 
    23     cin>>n>>m;
    24     for(int i=1;i<=n;i++)
    25     fa[i]=i;
    26     
    27     for(int i=1;i<=m;i++)
    28     cin>>e[i].u>>e[i].v>>e[i].w;
    29     
    30     sort(e+1,e+1+m,cmp);
    31     
    32     for(int i=1;i<=m;i++)
    33     {
    34         if(cnt==n-1)
    35         break;
    36         int x=find(e[i].u);
    37         int y=find(e[i].v);
    38         if(x!=y)            
    39         {
    40             ans+=e[i].w;
    41             fa[y]=x;            
    42             cnt++;
    43         }            
    44         
    45         
    46     }
    47     if(cnt!=n-1)
    48     {
    49         cout<<"orz";
    50         return 0;
    51     }
    52     cout<<ans;
    53     return 0;    
    54 }

    隐约雷鸣,阴霾天空,但盼风雨来,能留你在此。

    隐约雷鸣,阴霾天空,即使天无雨,我亦留此地。

  • 相关阅读:
    Redis常用操作命令
    redis-sentinel.conf配置项详解
    Kafka常用命令
    go modules的使用姿势
    GO语言密码加解密(bcrypt)
    ssh-copy-id 秘钥分发报错
    k8s 命令提示
    算法与数据结构(持续更新)
    【spring】 @PostConstruct注解
    Spring Boot 整合Redis
  • 原文地址:https://www.cnblogs.com/MisakaAzusa/p/8504173.html
Copyright © 2020-2023  润新知