考察算法:最小生成树
为什么要用最小生成树?
如果我们将问题转化为一个图,那么我们最终要做的就是把整个图联通且求其最小代价,那么自然的能想到最小生成树。
如何用最小生成树解决本问题?
我们可以建一个超级源点 \(0\),然后将每个城市都与 \(0\) 结点连一条边,边权就是这个点的 \(c\) 值,其他的边正常建即可,然后在 \(0\) 到 \(n\) 节点之间跑最小生成树即可。