博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kruskal算法
阅读量:4676 次
发布时间:2019-06-09

本文共 819 字,大约阅读时间需要 2 分钟。

Kruskal算法

紫书P356

这是最小生成树(也叫MST)的算法。

这里的这个排序cmp函数还是比较牛逼的,他是根据w的值排序得到w的下标递增值。
i.e.这个排序可以保留w数组不动,但又可以得到拍好序的下标值,存在r数组中。

#include 
using namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;#define cle(a,val) memset(a,(val),sizeof(a))#define SI(N) scanf("%d",&(N))#define SII(N,M) scanf("%d %d",&(N),&(M))#define SIII(N,M,K) scanf("%d %d %d",&(N),&(M),&(K))#define rep(i,b) for(int i=0;i<(b);i++)#define rez(i,a,b) for(int i=(a);i<=(b);i++)#define red(i,a,b) for(int i=(a);i>=(b);i--)const ll LINF = 0x3f3f3f3f3f3f3f3f;#define PU(x) puts(#x);#define PI(A) cout<<(A)<
>n>>m){ for(int i=0;i
>T;while(T--) Solve(); return 0;}

以下是测试的数据:

输入
5 6
1 5 2
1 3 2
5 3 6
4 3 1
4 2 3
2 3 4
输出
0 1 2 3 4 5
3 0 1 4 5 2
8

转载于:https://www.cnblogs.com/s1124yy/p/6016561.html

你可能感兴趣的文章
【Fate/kaleid liner 魔法少女☆伊莉雅】系列中实践的、新世代的动画摄影工作流...
查看>>
TCP/IP系列——长连接与短连接的区别
查看>>
Linux基础——常用命令
查看>>
Python学习笔记三(文件操作、函数)
查看>>
二进制分组
查看>>
[ACM] POJ 1068 Parencodings(模拟)
查看>>
Drools只执行一个规则或者执行完当前规则之后不再执行其他规则(转)
查看>>
20180110小测
查看>>
冰点还原8.57 官方中文版下载
查看>>
poj 2236(并查集的应用)
查看>>
C 栈 链式存储
查看>>
Java 游戏报错 看不懂求教
查看>>
APP自动化测试
查看>>
HTML中让表单input等文本框为只读不可编辑的方法
查看>>
nodejs做中间层,向后端取数据
查看>>
IntelliJ IDEA 2017 MySQL5 绿色版 Spring 4 Mybatis 3 配置步骤详解(二)
查看>>
(转)Java DecimalFormat 用法(数字格式化)
查看>>
hiho_100_八数码
查看>>
Eclipse序列号生成代码
查看>>
JVM
查看>>