#include <algorithm> class Solution { public: /** n 户人家 → n 个点(顶点) m 条路 → m 条边,每条边有一个权重(修路成本) 要让所有人家连起来(形成连通图),而且总成本最低 → 最小生成树(Minimum Spanning Tree, MST) 生成树:包含所有顶点,且n-1条边,也就是一条线连接所有顶点; 最小生成树:采用的边的代价和最小 Kruskal 的核心思想是一个贪心策略: 每次挑最便宜的路(按边的距离排序),利用并查集, 如果两个节点还没有连接(不在一个集合里),就修它(放到一个集合,累计成本),直到所有村...