![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
生成树
zyz_3_14159
这个作者很懒,什么都没留下…
展开
-
LightOJ-1041-prime
题目大意:有若干个城市,给出m条路,如果cost不是0就代表这条路需要修,问要使这个图形成连通图,最少需要花费多少;题目解析:最小生成树,prime,因为不知道有多少个城市,先用map来映射一下;AC代码:#include#include#include#include#include#includeusing namespace std;const int inf=0x原创 2016-10-23 21:46:34 · 194 阅读 · 0 评论 -
LightOJ-1065-生成树
题目大意:给定一张图,有n个节点,m条路,可以在每个城市修建若干个飞机场,问最少花费多少,花费相同时,输出飞机场最多的解;题目解析:首先,这张无向图的每个强连通分量都至少有1个飞机场,为了方便计算,我们可以加一个根节点,使所有强连通分量都能与根节点连通,这样整张图就连通了,只要开始的时候预处理,多加n条边,使得图上每个点都与根节点连通就可以了,由此我们就要求出他的最小生成树,稀疏图用kursk原创 2016-11-08 15:03:14 · 230 阅读 · 0 评论 -
LightOJ1029-Civil and Evil Engineer-生成树
题目大意:给你一张图,求它的最小生成树和最大生成树的的总费用/2;题目解析: 用prime算法即可,求最小生成树的时候,只要每次取出长度当前长度最小的那条边,并且维护dist[]就可以了,因为是树状结构,肯定不会有环,最大生成树也是类似;AC代码:#include#include#include#include#includeusing namespace std;cons原创 2016-10-16 14:23:34 · 216 阅读 · 0 评论 -
poj-3723-生成树
题目大意:有n个男生和m个女生,男生和女生之间可以有亲密度,召唤其中一人的时候如果另一个已经被召唤了的话就可以少花费亲密度的钱,题目解析:首先这张图肯定是森林,我们需要对每个连通片求出最大生成树,但是我用kurskal能AC但是prime就TLD,下面附上代码,欢迎讨论;AC代码:#include#include#include#include#includeusing na原创 2016-10-30 17:26:38 · 287 阅读 · 0 评论 -
LightOJ-1123-生成树
题目大意:给定图上一共有n的点,有m天,每天加一条边并且问当前的边集合的最小生成树是多少,没有的话就输出-1;题目解析:每次都来个Kruskal肯定会T,其实到后来我们只需要保存n-1条边即可,因为其余边都是多余的,此时再加进来边只需找出那个能使得树变成环的边并且把它删除即可,因为每次肯定是删除一个,所以只需要令最后一个等于要删除的位置就ok了;AC代码:#include#inclu原创 2016-11-14 23:20:37 · 333 阅读 · 0 评论 -
POJ-2728-01分数规划,Dinkelbach迭代
题目大意:最优比例生成树,分子为两点间的垂直距离,分母为欧几米德距离;题目解析:用迭代+prim,更新dist,dist为abs(ax-b.x)-ans*dist(a,b);(题目输出只能用f不能用lf)AC代码:#include#include#include#include#include#includeusing namespace std;const int ma原创 2017-04-10 20:58:17 · 703 阅读 · 0 评论