塔子哥拿到了一个长度为2n的数组,她希望把数组中的元素分成nnn个二元组:(xi,yi)(x_i,y_i)(xi,yi)。
由题意,会选择 nnn 个 xix_ixi ,以及 nnn 个 yiy_iyi,对于 nnn 个 xix_ixi 来说,需要将其全部覆盖最小的长度为 w=max(xi)−min(xi),i∈[1,n]w = max(x_i) - min(x_i),i \in [1, n]w=max(xi)−min(xi),i∈[1,n],对于 yyy 来说也是同理,最终的面积为两者相乘。
将 2∗n 2 * n2∗n 个数从小到大排序,横坐标选前 nnn 个,纵坐标选后 nnn 个,可以证明这样贪心的选是最优的。
本题属于以下题库,请选择所需题库进行购买
ScanQRCodePrompt
GoToPasswordLoginPrompt