题目解析
本题要求在匹配队伍最多的情况下匹配出的各组实力差距的总和最小
即两个要求:
- 匹配队伍最多
- 各匹配实力差之和最小
且最终结果要优先满足“匹配队伍最多”,其次满足“各匹配实力差之和最小”
而两个队伍是否能够匹配,也有要求
两支队伍实例差距在允许的最大差距d内,则可以匹配
因此队伍匹配也要考虑实力差。
解决本题时,我们可以先不考虑两个队伍实力差对队伍匹配的影响,即可以把 d 值当成无穷大的。
那么此时,“匹配队伍最多”这个要求,已经形同虚设,为什么呢?
因为任意两个队伍都能匹配,那么只要队伍个数给定了,那么匹配数也就确定了,比如10个队伍,可以匹配5组,这5组就是最多的匹配情况。再比如7个队伍,最多可以匹配3组。
因此,此时我们只需要考虑最小实力差之和的问题了。
那么如何才能让 各匹配的实力差之和 最小呢?
此时我们应该让队伍实力值进行升序,这样每个队伍和其相邻的队伍形成的匹配的实力差是最小的。
比如下面用例的实力值就是升序的