Solution:
首先建出最小生成树,接着枚举每一条非树边,若加入它,则会在原图中生成一个环。为保证树的边权之和尽可能小且合法,我们考虑删去环中这样一条边:不与枚举的非树边边权一样的最大边权。然后用新的生成树的边权和去更新答案。(若没有则不更新)。
基于上述的算法,我们需要求出树上一条路径的最大值和严格次大值,设w[i][j]和w1[i][j]分别表示从i号节点往上跑2^j条边中的最大值和严格次大值,则有(表示从i号节点往上跑2^j条边是哪个节点),而则取
Solution:
首先建出最小生成树,接着枚举每一条非树边,若加入它,则会在原图中生成一个环。为保证树的边权之和尽可能小且合法,我们考虑删去环中这样一条边:不与枚举的非树边边权一样的最大边权。然后用新的生成树的边权和去更新答案。(若没有则不更新)。
基于上述的算法,我们需要求出树上一条路径的最大值和严格次大值,设w[i][j]和w1[i][j]分别表示从i号节点往上跑2^j条边中的最大值和严格次大值,则有(表示从i号节点往上跑2^j条边是哪个节点),而则取