![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
Jaster_wisdom
程序员
展开
-
POJ 1251 (最小生成树)
很明显,这是一道 最小生成树的例子。也就是,从图中选取若干条边将所有顶点连接起来,并且所选取的这些边的权值之和最小。 算法:Prim算法,或者 Kruskal算法 Prim算法: 首先选择一个点为起点,然后找到与该边相邻权值最小的边,选中该边上的另一个点,然后选择 与选中点 相连接的最小边,这样循环下去,直到包含所有节点 用d[i]表示 与 i 点相邻的最短边的权值,这点是与 Dijks原创 2016-03-16 10:30:17 · 965 阅读 · 0 评论 -
POJ 1258
最小生成树,模板题,直接按照模板来 就可以了。 注意:这里程序没有终止条件,就是一直是输入样例。 #include using namespace std; #define MAXV 110 #define MAX 100010 int n; int map[MAXV][MAXV]; int d[MAXV]; bool vis[MAXV]; void Prim(){ i原创 2016-03-16 20:40:59 · 434 阅读 · 0 评论 -
POJ 1789
题目我咋一看, 觉得有点新颖,后来 读题之后 发现又是 最小生成树的 例子。 题目大意:每条字符串 都可以 由其他的字符串 演化出来。定义两个字符串之间的距离,就是它们之间不同的字符的个数。 要求的是, 如何演化,对应的距离之和 最短,相应的 倒数也就是 最大的。我们知道,最小生成树的权值之和是最短的。 因为这道题,点的范围是 2~2000,并且构成的图 应该是 密集型的,每两个点之间 都会有原创 2016-03-17 16:59:42 · 356 阅读 · 0 评论 -
POJ 2485
最小生成树的例子。 这次求的不是 最小生成树边的权值之和,而是构成最小生成树中 最长的边。不过,无论题目怎么变化,Prim算法的核心思想是 一样的,只要改变一下 最后输出的结果,找边的最大值即可。 最后,说一下,这道题目的输出格式。本来没什么要求,可就是题目中说 每个样例 之后空一行,结果我cout #include using namespace std; #define MAXV 5原创 2016-03-17 19:06:53 · 454 阅读 · 0 评论 -
最优灌溉 (201412-4)
问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉。 现在雷雷知道哪些麦田之间可以建设水渠和建设每个水渠所需要的费用(注意不是所有麦田之间都可以原创 2016-04-18 21:30:58 · 839 阅读 · 0 评论 -
九度OJ 1017
题目描述: 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 输入: 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 当N为0时,输入结束,该用例原创 2016-06-01 16:01:23 · 630 阅读 · 2 评论