第一题肯定不能暴力 假设有一种方案 把石头某一堆涂成了白色 剩下一堆涂成了黑色 我随便从白堆拿石头x 黑堆拿石头y 我们考察交换他们的颜色是不是更好 也就是说x[0]+y[1]和x[1]+y[0]的大小 如果x[0]+y[1]>x[1]+y[0] 就让他们交换 也就是说x[0]-x[1]>y[0]-y[1]的时候 我们一定要让x去涂成黑色 y涂成白色 因此我们直接对于每个石头x存入堆中将x[0]-x[1]作为排序依据 然后堆顶的元素涂成白色 直到白色够了 剩下的涂成黑色 复杂度nlogn
牛客网
牛客企业服务