切比雪夫距离和曼哈顿距离
参考这篇博客就好,言简意赅: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)\);而曼哈顿距离只有求和以及取绝对值两种运算。我们把坐标排序后可以去掉绝对值的影响,进而可以用前缀和优化距离求和过程。


浙公网安备 33010602011771号