![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
文章平均质量分 94
ITCharge
高效率编程,慢节奏生活。
展开
-
HDU2122 Ice_cream’s world III【Kruskal】
题目大意:给你N个点(编号为0~N-1),M条路,问最小生成树是多少,如果不能生成最小生成树,则输出impossible思路:用Kruskal来做,如果最后得不到N-1条路,就输出impossible,否则就输出结果。原创 2015-01-19 23:07:24 · 1207 阅读 · 0 评论 -
HDU3371 Connect the Cities【Kruskal】
题目大意:首先是T组数据,之后每组第一行是N M K,表示N个城市,M条路的信息,和已经连接上的K个城市信息。接下来M行每行是城市A到B建路需要的花费。再接下来K行每行第一个数为t,之后t个数表示已经连接在一起的城市。简单说,就是给你N个城市和M条路的花费,再给你已经联通的城市,求连接所有城市的最小生成树总权值是多少。思路:用kruskal算法来做,先把联通的城市并入集合,再依次并入边权值最小的边,直到并到N-1条边,就生成了最小生成树。如果并完了没有达到N-1条边,就是不能联通,输出"-1"。原创 2014-12-27 11:07:12 · 845 阅读 · 0 评论 -
HDU4786 Fibonacci Tree【最小生成树】
题目大意:给你图的N个点和M条双向边。告诉你每条边的权值。权值为1表示该边是白边,权值为0表示该边为黑边。问:能否找到一棵生成树,使生成树白边的个数恰好为fibonacci数。如果能构成这样的fibonacci树,输出Yes,否则输出No。思路:先将fibonacci数列打表。然后根据题意构图。然后根据边的权值大小排序,用Kruskal先求一遍最小生成树,再求一遍最大生成树。如果最小生成树和最大生成树之间存在fibonacci树,则说明能够成fibonacci树。这是因为如果原创 2015-04-24 20:45:25 · 1604 阅读 · 0 评论 -
HDU2724 Tree【最小生成树】
题目大意:有N个城市,每个城市有一个幸福值,如果两个城市A、B的幸福值分别为VA、VB,如果VA是素数,或者VB是素数,又或者VA+VB是素数,则城市A和B就能连接一条路,建路的所用花费为Min(Min(VA , VB),|VA-VB|)。问:现在想要建几条路,使得能够连接所有的城市,所需要建设的最少路程和是多少?思路:就是求最小生成树,先用素数筛选法将素数打表,然后根据题意建边。最后就是用Prim模板求最小生成树就行了。原创 2015-04-09 11:31:48 · 980 阅读 · 0 评论 -
HDU1301 POJ1251 Jungle Roads【Prim】【最小生成树】
题目大意:热带的一个岛上有N个村庄,还有一些路,现在丛林把道路给破坏了。酋长想要去掉一些不必要的路,使得剩下的路既能联通全部村庄,又能使总路程最短。求:这个最短的总路程是多少思路:就是给你N个点,M条边,求最小生成树。用Prim算法来做,输入的时候将字母代表的村庄转换为下标(即字母 - 'A')即可。原创 2015-01-19 22:29:15 · 1095 阅读 · 0 评论 -
POJ1258 Agri-Net【Prim】
题目大意:给你一个N个点的矩阵图,求所有点相连的最小生成树。思路:直接裸的Prim算法。原创 2014-12-24 16:00:44 · 782 阅读 · 0 评论 -
HDU1102 Constructing Roads【Prim】
题目大意:先给你N个村庄之间距离,用矩阵表示。再告诉你S个已经建好的路。求再建多少距离的路,能实现N个村庄全部联通。思路:用Prim算法来求最小生成树,已经建好的路就看做是路连接的两个村庄之间距离为0。图建好后直接用Prim模板就可以了。原创 2015-01-03 18:28:33 · 806 阅读 · 0 评论 -
HDU1879 继续畅通工程【Prim】
题目大意:N个村庄之间修路,有的路已经修了,有的路没有修。给你N个村庄间修路的花费和修建状态,问:最少需要再花费多少钱能将N个村庄全部联通。思路:已经修建过的路花费赋值为0,Prim算法求最小生成树。原创 2014-12-24 16:18:06 · 974 阅读 · 0 评论 -
HDU2988 Dark roads【Kruskal】
题目大意:给你N个点M条路的图,点的变化由0~N-1,求最小生成树。思路:裸的Kruskal算法,直接求就可以。原创 2014-12-27 13:34:59 · 1216 阅读 · 0 评论 -
HDU1875 畅通工程再续【Prim】
题目大意:给你几个岛的坐标,只有两个岛的距离在10~1000米范围内的岛才能建立道路。每米道路花费100元。问:能否建立连接全部岛屿的道路。若能,输出建立道路的最小花费;若不能输出"oh!"。思路:主要是建图问题,纠结在Prim上半天,最后才发现只要建图的时候多想想就好了。建图的时候,只有满足条件的才能赋值距离,否则就为INF(假设的无穷大)。Prim求最小生成树的时候,若没有找到与当前链接岛屿最近的满足建造条件的道路,就直接输出"oh!",并退出。否则就继续查找,直到最后输出最小花费。原创 2014-12-25 10:37:56 · 982 阅读 · 0 评论 -
HDU1863_畅通工程【Prim】【并查集】
题目大意:给你M个村庄、N条路,即N条路所连接的两个村庄即路程。问能否各个村庄都能有路达到,若不通,则输出'?',若通,则计算出连接所有村庄最小的路程和思路:先用并查集判断能否所有村庄。把有路连接的村庄并到一个集合里。最后,若只有一个集合,则所有村庄都能连接。若有两个以上,则肯定有村庄不能到达。然后用Prim算法计算出图的最小生成树。原创 2014-10-19 21:17:14 · 1140 阅读 · 0 评论 -
HDU1233 还是畅通工程【Prim】
题目大意:给你一个图,求连接所有点的最短路径。思路:Prim算法求图的最小生成树,模板题。原创 2014-12-23 22:36:35 · 894 阅读 · 0 评论 -
HDU1162 Eddy's picture【Prim】
题目大意:给你N个点的坐标,求能使这N个点相连的所有边的最小距离是多少。思路:先求出每个点和其他点的距离,存到图中,用Prim模板来做。原创 2014-12-25 16:18:10 · 1419 阅读 · 0 评论 -
POJ2485 Highways【Prim】
题目大意:岛上要建高铁,有N个站点,给你一个图,表示这N个站点每个站点之间的距离,要求建造的高铁路线能连接所有的站点,并且使总的路程最短。求出满足情况的路线中两个站点间最长的路。思路:根据要求求出最小生成树,并求出最小生成树上的最大边,就是最终答案。原创 2015-01-24 20:55:35 · 1021 阅读 · 0 评论 -
POJ2395 Out of Hay【Kruskal】
题目大意:1号农场的草被牛吃完了,Bessie必须从其他农场运草回来,总共有N个农场,Bessie要去其他所有的农场运草回来,他想要使总路程最短并且路线能连接所有的农场。必须要考虑到路上带的水袋大小。因为水袋大小和路线中距离最长的两个农场之间的路有关,现在Bessie想要求出满足要求的路线中两个农场之间最长的路距离是多少。思路:满足要求的路线其实就是最小生成树,路线中两个农场之间最长的路距离就是最小生成树上最长的边。这样用Kruskal求最小生成树的时候,用Max求出最小生成树上最长的边。原创 2015-01-24 20:25:36 · 1774 阅读 · 0 评论 -
POJ2377 Bad Cowtractors【Kruskal】【求最大生成树】
题目大意:Bessie要在John的N个谷仓之间修路,John要求用尽可能少的路使得所有谷仓都能联通,并且总距离最短,但是他又不想给Bessie钱。Bessie已经意识到John可能不给他钱,所以他就想把这个工程做的最糟糕并且不让John发现。他决定用尽可能少的路使得所有谷仓都能联通,但是要使总距离尽可能长。求这个可能的总距离。如果不能使得所有谷仓都联通,则输出"-1"。思路:和最小生成树的求法类似,这里使边的权值尽可能大。用Kruskal算法来做,排序的时候,将边从大到小排序。因为Kruska原创 2015-01-24 19:11:37 · 1646 阅读 · 0 评论 -
POJ1789 Truck History【Prim】
题目大意:给你N个字符串,每个字符串代表一个结点,每个结点之间的距离为字符串中不同字符的个数。比如:"abaaaaa"和"aabaaaa",第二个和第三个字符不同,两个结点之间的距离就是2。以此类推,得到所有的结点。求所有结点构成图的最小生成树。思路:按题意算出各结点之间的距离,存入图中,用Prim算法求解,注意输出格式。原创 2015-01-24 17:45:53 · 1047 阅读 · 0 评论 -
最小生成树【模板】
Kruskal算法struct Edge { int from; int to; int w; }; Edge Edges[200200]; int father[200200],N,M; int find(int x) { if(x != father[x]) father[x] = find(father[x]原创 2015-05-02 23:46:52 · 1192 阅读 · 0 评论