曼哈顿距离与切比雪夫距离的转换

曼哈顿距离

定义

平面内两点坐标分别为(x1,y1),(x2,y2)

dis=|x1x2|+|y1y2|

切比雪夫距离

定义

平面内两点坐标分别为(x1,y1),(x2,y2)

dis=max(|x1x2|,|y1y2|)

两者的关系

第一组

将一个点 ((x, y)) 的坐标变为 ((x + y, x - y)) 后,原坐标系中的曼哈顿距离 (=) 新坐标系中的切比雪夫距离 。

当然有时候为了防止数组越界,在处理 x - y 的时候,可以全部加上一个定值常数,即转换为 ((x + y, x - y + C))

第二组

将一个点 ((x, y)) 的坐标变为

(x+y2, xy2)

后,原坐标系中的切比雪夫距离 (=) 新坐标系中的曼哈顿距离

1. 第一组变换证明

设原两点 ( A(x_1,y_1) )、( B(x_2,y_2) ),变换后新坐标:

A(x1+y1, x1y1),B(x2+y2, x2y2)
  • 原曼哈顿距离:

    • d_Manhattan=|x1x2|+|y1y2|
  • 新切比雪夫距离:

    • d_Chebyshev=max(|(x1+y1)(x2+y2)|, |(x1y1)(x2y2)|)
  • 化简后可证

(dManhattan=dChebyshev)

2. 第二组变换证明

变换后新坐标: $$ A’\left(\frac{x_1+y_1}{2},\ \frac{x_1-y_1}{2}\right),\quad B’\left(\frac{x_2+y_2}{2},\ \frac{x_2-y_2}{2}\right) $$

  • 原切比雪夫距离:

    • d_Chebyshev=max(|x1x2|, |y1y2|)
  • 新曼哈顿距离:

    • d_Manhattan=|x1+y12x2+y22|+|x1y12x2y22|
  • 化简后可证

    (dChebyshev=dManhattan)

应用意义

这些变换可将两种距离问题相互转换,利用不同距离在算法中的优势(如曼哈顿距离计算简单、切比雪夫距离在网格问题中直观 ),简化解题。

例题 ( C-总辖之愿_金山杯 2025 年武汉理工大学程序设计竞赛 )