解题思路
本题要求构造优先级数组 r,使按“较低优先级一侧的权重 v 作为边权”连边后的图连通,且边权和最大。
- 对每个实例 i,vi 的贡献次数等于「r 严格大于 ri 的实例个数」。
- 将 v 从大到小排序。正数应尽量排在较低的 r 上以获得更大倍数;非正数贡献非正,应共享最高 r,贡献为 0。
- 若全部非正:不能所有 r 相同(否则不连通),最优是取最大值单独作为较低 r,答案为 max(v)⋅(n−1)。
- 若存在正数:正数赋互不相同的递增 r,非正数共享最高 r,答案为 ∑v[i]⋅(n−1−i)(仅对正数项求和)。
- n=1 时无边,答案为 0。