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

曼哈顿距离和切比雪夫距离转载 nbsp https www cnblogs com zwfymqz p 8253530 html 本文只讨论二维空间中的曼哈顿距离与切比雪夫距离曼哈顿距离定义设平面空间内存在两点 它们的坐标为 x1 y1 x2 y2 则 nbsp nbsp 即两点横纵坐标差之和 nbsp 两点在南北方向上的距离加上在东西方向上的距离煮个栗子如图所示 图中 A B 两点的曼哈顿距离为 AC B

转载 https://www.cnblogs.com/zwfymqz/p/8253530.html

本文只讨论二维空间中的曼哈顿距离与切比雪夫距离

曼哈顿距离

定义

设平面空间内存在两点,它们的坐标为(x1,y1) (x2,y2) .

则  \large dis = | x1 - x2 | + | y1 -y2|

即两点横纵坐标差之和, 两点在南北方向上的距离加上在东西方向上的距离

煮个栗子

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

如图所示,图中A,B 两点的曼哈顿距离为AC+BC=4+3=7

 

 

切比雪夫距离

定义

设平面空间内存在两点,它们的坐标为(x1,y1),(x2,y2)

则dis=max(|x1−x2|,|y1−y2|)

即两点横纵坐标差的最大值

再煮个栗子

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

dis=max(AC,BC)=AC=4

 

两者之间的关系

两者的定义看上去好像毛线关系都没有,但实际上,这两种距离可以相互转化

我们考虑最简单的情况,在一个二维坐标系中,设原点为(0,0)

如果用曼哈顿距离表示,则与原点距离为1的点会构成一个边长为√2的正方形

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

 

 

如果用切比雪夫距离表示,则与原点距离为1的点会构成一个边长为2的正方形

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

 

 

仔细对比这两个图形,我们会发现这两个图形长得差不多,他们应该可以通过某种变换互相转化。

事实上,

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

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

 

用处

切比雪夫距离在计算的时候需要取max,往往不是很好优化,对于一个点,计算其他点到该的距离的复杂度为O(n)

而曼哈顿距离只有求和以及取绝对值两种运算,我们把坐标排序后可以去掉绝对值的影响,进而用前缀和优化,可以把复杂度降为O(1) . 

题目 :  https://www.luogu.org/problemnew/show/P3964

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209519.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午9:03
下一篇 2026年3月19日 上午9:03


相关推荐

  • Django(23)Django限制请求装饰器

    Django(23)Django限制请求装饰器前言有时候,我们想要限制访问的请求方法,比如我们希望用户只能通过get方式请求,post不允许,那么我们可以采用装饰器的方式,django已经为我们提供了内置的装饰器限制请求装饰器Django内

    2022年8月7日
    4
  • 斩获VCR竞赛榜第一,腾讯微视推出BLENDer单模型,超越多模型最好效果

    斩获VCR竞赛榜第一,腾讯微视推出BLENDer单模型,超越多模型最好效果出品 CSDN ID CSDNnews 视觉常识推理 VCR VisualCommon 是人工智能领域的前沿热点问题 我国 新一代人工智能发展规划

    2026年3月26日
    2
  • 程序员star法则简历_程序员的标配

    程序员star法则简历_程序员的标配hhh程序员的表达能力一直被诟病,尤其面试讲述自己的项目的时候下面的star原则能够帮助你:所谓STAR原则,即Situation(情景)、Task(任务)、Action(行动)和Result(结果)四个英文单词的首字母组合。STAR原则是结构化面试当中非常重要的一个理论。S指的是situation,中文含义是情景,也就是在面谈中我们要求应聘者描述他在所从事岗位期间曾经做过的某件重要的且可以当作

    2025年11月10日
    4
  • 一、Python简介

    一、Python简介Python简介python的创始人为吉多·范罗苏姆(GuidovanRossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释

    2022年7月3日
    28
  • 角速度与位移矢量叉乘_角速度叉乘角动量

    角速度与位移矢量叉乘_角速度叉乘角动量矢量导数——角速度与矢量的叉乘原创不易,路过的各位大佬请点个赞矢量叉乘,向量外积矢量导数——角速度与矢量的叉乘1.定理证明证明结论部分1.定理矢量的导数为角速度叉乘以该适量。这也是角速度的定义。角速度在一般意义上是一个二阶张量,不过由于这个张量满足某些约束条件,自由的分量个数恰好变成了3个,所以正好可以拼凑成一个三分量矢量。刚体绕定轴旋转时,角速度矢量的方向垂直于旋转平面,且按右手螺旋法则确定证明定义矢量在本体坐标系表示为rar_ara​,在旋转坐标系的表示为rbr_brb​,两个坐

    2025年7月16日
    10
  • 安卓java游戏模拟器_java游戏模拟器安卓版下载

    安卓java游戏模拟器_java游戏模拟器安卓版下载手机游戏 给用户带来无限乐趣 该应用体积小 不占用太多内存 有需要的用户赶紧下载使用吧 应用介绍 Java 手机游戏模拟器主要针对诺基亚 S60 系列 屏幕 176 220 手机以及其他大屏手机 小屏游戏也可运行 但不能全屏显示 是一款非常简单而且实用的 java 游戏模拟器 可以正常运行绝大部分 JAVA 手机游戏 应用特点 Java 语言的一个非常重要的特点就是与平台的无关性 而使用 Java 虚拟机是实现这一特

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号