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

【感谢xly苣铑】

【曼哈顿距离】

关于曼哈顿距离和切比雪夫距离_第1张图片

 

【切比雪夫距离】

关于曼哈顿距离和切比雪夫距离_第2张图片

【关于两者的关系】

距离原点曼哈顿距离为d的点集如下图:它们在红色的菱形上。

关于曼哈顿距离和切比雪夫距离_第3张图片

距离原点切比雪夫距离为d的点集如下图:它们在红色的正方形上。

关于曼哈顿距离和切比雪夫距离_第4张图片

这两个图好像很像啊。其实这两者是可以相互转化的。

对于两个点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)后,原坐标系下的曼哈顿距离就变成了现坐标系下的切比雪夫距离。

一个弱弱的题解    一个洛谷的例题

你可能感兴趣的:(关于曼哈顿距离和切比雪夫距离)