IT民工
加油!
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1233这道题是昨天那道畅通工程的升级题,用了最小生成树的思想,我是参考白书上的kruskal代码做了这道题(PS:白书果然 是王道!)。首先并查集是必不可少的,将两点之间的连线看成边,这次不仅要将并查集初始化,还要初始化边的序号,用数组r来存储边的序号,题目要求有m=n*(n-1)/2条路。我们用u[i],v[i],w[i],分别表示两个端点的序号,以及两点间的距离,然后根据w[i]给边间接排序(排序的对象是边的序号,而不是边的长度)。下一步就是在所有集合由距离的小到 大连接起来。下面是代码:#include 阅读全文
posted @ 2011-09-26 00:23 找回失去的 阅读(463) 评论(0) 推荐(0)