【感谢xly苣铑】
【曼哈顿距离】
【切比雪夫距离】
【关于两者的关系】
距离原点曼哈顿距离为d的点集如下图:它们在红色的菱形上。
距离原点切比雪夫距离为d的点集如下图:它们在红色的正方形上。
这两个图好像很像啊。其实这两者是可以相互转化的。
对于两个点A(x1,y1),B(x2,y2)
曼哈顿距离:|x1-x2|+|y1-y2| ——> max{ x1-x2+y1-y2 , x2-x1+y1-y2 , x1-x2+y2-y1 , x2-x1+y2-y1}
【把绝对值拆开的所有情况,四个中有一个是正确的值。其他错误的值的两个部分中至少有一个是负的,而正确的值两个部分都是正的,那么在这四个可能情况中取个max就得到了这个正确的值,也就是曼哈顿距离】
切比雪夫距离:max{|x1-x2|,|y1-y2|}
考虑(x1+y1,x1-y1)和(x2+y2,x2-y2)
这两个点的切比雪夫距离为max{|x1+y1-x2-y2|,|x1-y1-x2+y2|}
把这个绝对值拆一下就跟上面曼哈顿距离相同了。这时,就成功地把两个点的切比雪夫距离转化为了曼哈顿距离。
【哈哈,其实前面的口胡都不用看,记住结论就行了】
将一个点(x,y)的坐标变为(x-y,x+y)后,原坐标系下的切比雪夫距离就变成了现坐标系下的曼哈顿距离。
将一个点(x,y)的坐标变为((x+y)/2,(x-y)/2)后,原坐标系下的曼哈顿距离就变成了现坐标系下的切比雪夫距离。