zoukankan      html  css  js  c++  java
  • 【模板】最小生成树

    洛谷P3366 

    kruskal算法基于并查集思想qwq

    prim我不会吖QAQ

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<algorithm>
     4 #define maxn 5050
     5 #define maxm 200020
     6 using namespace std;
     7 int n,m,num = 0,ans = 0;
     8 int f[maxn];
     9 struct edge {
    10     int u, v, w;
    11 }e[maxm];
    12 bool cmp(edge a,edge b) {
    13     if(a.w == b.w) return a.u <b.u;
    14     return a.w < b.w;
    15 }
    16 int init(int x) {for(int i = 1; i <= x; i++) f[i] = i;}
    17 int find(int x) {
    18     if(x != f[x]) f[x] = find(f[x]);
    19     return f[x];
    20 }
    21 void merge(int x,int y) {f[y] = x;}
    22 int main() {
    23     scanf("%d%d",&n,&m);
    24     init(n);
    25     for(int i = 1; i <= m; i++) scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
    26     sort(e+1,e+m+1,cmp);
    27     for(int i = 1; i <= m; i++) {
    28         int r1 = find(e[i].u), r2 = find(e[i].v);
    29         if(r1 != r2) {
    30             merge(r1,r2);
    31             ans += e[i].w;
    32             num++;
    33         }
    34         if(num == n-1) {
    35             printf("%d",ans);
    36             return 0;
    37         }
    38     }
    39     printf("orz");
    40     return 0;
    41 }
    总之岁月漫长,然而值得期待。
  • 相关阅读:
    触发器
    自定义变量
    系统变量
    Interval 计时器
    Ajax 之 DWR
    cssTest
    Ajax之XMLHttpRequst对象
    添加页面元素
    jquery 基础
    jQuery 自定义动画效果
  • 原文地址:https://www.cnblogs.com/Hwjia/p/9518785.html
Copyright © 2011-2022 走看看