2012年7月24日
摘要: 最小生成树与并查集的使用。第一次写最小生成树哦,还是Kruskal算法高效、简洁。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<algorithm>usingnamespacestd;constintmaxn=5100;intv[maxn],u[maxn],w[maxn];//u,线段起始点。v,线段终点。w,权值。intr[maxn];//保存边序号,便于间接排序intp[maxn];//并查集intcmp(constinti,constintj)//间接排 阅读全文
posted @ 2012-07-24 11:14 有间博客 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 这是一个全裸的并查集,其实就是求有多少个不同的连通分量。第一次用并查集,理解的差不多了,接下来就是应用啦。CODE:#include<stdio.h>#include<stdlib.h>#include<stdlib.h>#include<string.h>usingnamespacestd;constintmaxn=1002;intp[maxn];//p用来记录父节点intrank[maxn];//rank用来记录节点数intfind(intx){returnp[x]==x?x:p[x]=find(p[x]);}voidUnion(intx,i 阅读全文
posted @ 2012-07-24 09:46 有间博客 阅读(146) 评论(0) 推荐(0) 编辑