Fork me on GitHub

随笔分类 -  最小生成树

摘要:评测:http://www.lydsy.com/JudgeOnline/problem.php?id=1821 分析一下题目: 因为最后答案是距离最近的部落的距离最远,即尽量把短的边合并进部落中。 一开始可以看做n个部落,将边排一遍序,用克鲁斯卡尔从最小的边开始将两端的点合并(如果... 阅读全文
posted @ 2017-09-24 17:48 primes 阅读(155) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problem/show?pid=1195 克鲁斯卡尔最小生成树。#include#include#include#include#include#include#includeusing namespace std;int n,m,k,... 阅读全文
posted @ 2017-09-24 17:48 primes 阅读(99) 评论(0) 推荐(0)
摘要:50%的做法: 先按照s升序排序。 从小到大枚举maxg,把g小于maxg的边全部选出来,(因为前面已经排过序了),造一棵最小生成树,更新答案。时间复杂度≈O(m*m)。 100分的做法: 按照g升序排序。 维护一个n-1条边的边集,是上一个建造的最小生成树的边集。 从前往后枚... 阅读全文
posted @ 2017-09-24 17:48 primes 阅读(118) 评论(0) 推荐(0)
摘要:luogu 解法:Kruskal最小生成树; 在构建最小生成树时,如果 s 与 t 在一个集合里时,当前边就是答案(因为便是按照升序排的)#include#include#include#include#include#include#includeusin... 阅读全文
posted @ 2017-03-08 18:34 primes 阅读(254) 评论(0) 推荐(0)
摘要:洛谷 1265#include#include#include#include#include#include#include#define pow1(x) (x)*(x)using namespace std;int n;double zx[5009],zy[5009],dis[... 阅读全文
posted @ 2017-03-08 15:31 primes 阅读(145) 评论(0) 推荐(0)