![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
风凌月影
这个作者很懒,什么都没留下…
展开
-
HDU~1863~畅通工程
kruskal参照小白书(虽然出了紫薯),函数主体: int kruskal() { int i,ans=0; for(i=0;i<m;i++) Father[i]=i; for(i=0;i<n;i++) r[i]=i; sort(r,r+n,cmp); for(i=0;i<n;i++) { int e=r[i]; int x=finder(uu[e]); int原创 2014-12-06 19:44:57 · 366 阅读 · 0 评论 -
HDU~1879~继续畅通工程
和前几个最小生成树有点不一样的地方就是: 在kruskal里面,要先把已经修通的路排在前面(不知道这样是不是多此一举呢),再按照每条路的价值从小到大排序 自定义排序规则就是(调用C++的sort): int cmp(const E a,const E b) { if(a.flag==b.flag) return a.val<b.val; return a.flag>b.flag; }原创 2014-12-09 14:52:32 · 422 阅读 · 0 评论 -
HDU~1233~还是畅通工程
有一道kruskal题,300多MS,不是很优化的方法,不知道是因为没有间接排序而是直接排序了结构体,或者没有Prim算法来得快(仅针对本题) /* * Author: 风凌月影 * School: HZIEE * Time : 2014-12-08-21.44 */ #include #include #include using namespace std; const in原创 2014-12-08 22:29:56 · 355 阅读 · 0 评论