首先是最小树形图的介绍。
看这个博客。最小树形图
上面介绍的很详细了,我就讲一下这道题的题意。
首先给出一些二维点坐标,这些坐标之间构成一些有向图,根据题意,假设两个点a(x1 ,y1) ,b(x2 ,y2) .当y1 <= y2时,他们之间可以连一条有向边,即a -> b。
就是每个点只能连y坐标大于他的点,然后就构成了一张有向图。
最后求出最少的距离可以使得所有的点都连起来。
刚开始以为直接求出两两之间的距离,然后用kruskal求一遍MST就可以了。但是仔细想了一下,这里有向边的限制就使得一些连边的情况是不可行的。
这道题的正解是最小树形图,而且是最裸的。
因为这道题他的根是不确定的,那么我们可以用一个超级源点,作为他的根,将他和所有的点都连起来,边是inf。
#include
#include