题解 AT2060【[AGC005B] Minimum Sum】
用并查集来贪心。
我们可以把数列抽象成一条
考虑一条边做出贡献的条件是什么,就是这条边是路径上边权最小的。因此我们将所有边按边权从大到小排序,然后按顺序枚举每一条边,根据它连接的两个连通块的大小和它的边权计算贡献,之后把这条边加到图中(也就是合并它连接的两个连通块)。
由于我们按边权降序枚举,显然在加入一条边时,过这条边的每条路径的最小边权都由这条边贡献。
时间复杂度为
提交记录
用并查集来贪心。
我们可以把数列抽象成一条
考虑一条边做出贡献的条件是什么,就是这条边是路径上边权最小的。因此我们将所有边按边权从大到小排序,然后按顺序枚举每一条边,根据它连接的两个连通块的大小和它的边权计算贡献,之后把这条边加到图中(也就是合并它连接的两个连通块)。
由于我们按边权降序枚举,显然在加入一条边时,过这条边的每条路径的最小边权都由这条边贡献。
时间复杂度为
提交记录