1 条题解
-
0
题解:花神的浇花集会
核心问题
给定平面上 个点 ,要找一个点 使得: [ \sum_{i=1}^n \max(|X - x_i|, |Y - y_i|) ] 最小,其中 且为整数。
思路分析
是切比雪夫距离(Chebyshev distance)。
切比雪夫距离可以通过坐标变换转化为曼哈顿距离(Manhattan distance):变换公式: [ (u_i, v_i) = (x_i + y_i, x_i - y_i) ] 则原问题中 [ \max(|X-x_i|, |Y-y_i|) = \frac{|U - u_i| + |V - v_i|}{2} ] 其中 [ U = X + Y, \quad V = X - Y ]
算法步骤
- 将每个点 变换为 。
- 原问题转化为:求 使 最小。
- 曼哈顿距离的中位数性质:使 最小的 是 的中位数;同理 是 的中位数。
- 取中位数:对 数组和 数组分别排序,取中位数候选。
- 逆变换回 需注意奇偶性:, 需为整数,因此 和 必须同奇偶。
- 如果中位数组合 奇偶不同,则需检查相邻的四个点(曼哈顿距离最近的点)来找到最小和。
时间复杂度
- 排序
- 计算中位数
- 总复杂度 ,可以处理 的数据规模。
关键点
- 利用切比雪夫到曼哈顿的坐标变换简化问题
- 曼哈顿距离的最小化可通过中位数实现
- 注意逆变换时的整数约束,可能需要微调候选点
- 最终答案除以 2 是因为变换中的 1/2 因子
- 1
信息
- ID
- 6041
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者