加载中...

切比雪夫距离和曼哈顿距离

参考这篇博客就好,言简意赅:csdn blog

设两点 \((x_{1}, y_{1}), (x_{2}, y_{2})\)

曼哈顿距离:

\[|x_{1} - x_{2}| + |y_{1} - y_{2}| \]

切比雪夫距离:

\[\max(|x_{1} - x_{2}|, |y_{1} - y_{2}|) \]

两者间的相互转化:

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

用处:切比雪夫距离在计算的时候需要取 max,往往不是很好优化。对于一个点,计算其他点到该点距离的复杂度为 \(O(n)\);而曼哈顿距离只有求和以及取绝对值两种运算。我们把坐标排序后可以去掉绝对值的影响,进而可以用前缀和优化距离求和过程。

peABblV.png

posted @ 2025-07-27 01:02  小橘奏  阅读(25)  评论(0)    收藏  举报