题意:给出N个坐标点的位置,其中的K个是已经相连的,求把它们连在一起需要最短的路径和。
分析:典型的最小生成树。一开始我选择了Kruskal(我也不知道怎么会选上的。。)。把所有有可能的边全部添加进去,外加stl的heap优化。
后来在discuss发现用朴素的prim便能达到很高的效率了,于是,再写了一个版本。
不仅效率高了,编程复杂度还降了下来。
下次记住了:Kruskal O(E*lg(v))
Prim O(E+V*lg(V))
稠密图使用Prim,Kruskal使用在稀疏图