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

曼哈顿距离

定义

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

则

dis=|x1−x2|+|y1−y2|

切比雪夫距离

定义

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

则

dis=max(|x1−x2|,|y1−y2|)

两者的关系

第一组

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

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

第二组

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

(x+y2, x−y2)

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

1. 第一组变换证明

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

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

    • d_Manhattan=|x1−x2|+|y1−y2|
  • 新切比雪夫距离:

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

(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(|x1−x2|, |y1−y2|)
  • 新曼哈顿距离:

    • d_Manhattan′=|x1+y12−x2+y22|+|x1−y12−x2−y22|
  • 化简后可证

    (dChebyshev=dManhattan′)

应用意义

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

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