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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值