码迷,mamicode.com
首页 > 其他好文 > 详细

Kruskal最小生成树

时间:2019-07-08 23:45:11      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:from   ==   贪心   struct   最小生成树   最小   const   生成   color   

贪心+并查集

struct edge {
    int from, to, dist;
    bool operator < (const edge &ths) const {
        return dist < ths.dist;
    }
}e[N];

int find(int k) {
    return f[k] == k ? k : f[k] = find(f[k]);
}

int main() {
    int ans = 0;
    for(int i = 0; i < n; i++) scanf("%d%d%d", &e[i].from, &e[i].to, &e[i].dist);
    sort(e, e + n);
    for(int i = 0; i < n; i++) {
        if(find(e[i].from) != find(e[i].to)) {
            f[find(e[i].from)] = find(e[i].to);
            ans += e[i].dist;
        }
    }
}

 

Kruskal最小生成树

标签:from   ==   贪心   struct   最小生成树   最小   const   生成   color   

原文地址:https://www.cnblogs.com/hanasaki/p/11154650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!