题目:
代码:
题解:先排序再取较小者
证明:
对于A = [a1, a2, a3……an……a(2n)] 任意分成n对 {(b1, c1), (b2, c2), (b3, c3),……,(bn, cn)}, 取B = {b1, b2, b3, ……,bn}, C = {c1, c2, c3,……,cn}。(A、B、C均为降序)
存在一种分法 B0 = {a1, a3, a5, ……, a(2n - 1)}
证明此分法最优
即证:a1 >= b1, a3 >= b2, a5 >= b3 …… a(2i - 1) >= bi
对于bi 至少有2*(n - i) + 1 比他大 他最前排在A中的第[2n - (2*(n - i) + 1)]个 即2i - 1个
即:bi <= a(2i - 1)
Q.E.D