1. 程式人生 > >曼哈頓距離與切比雪夫距離及其相互轉化

曼哈頓距離與切比雪夫距離及其相互轉化

本文只討論二維空間中的曼哈頓距離與切比雪夫距離

曼哈頓距離

定義

設平面空間記憶體在兩點,它們的座標為$(x1,y1)$,$(x2,y2)$

則$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$的點會構成一個邊長為$\sqrt{2}$的正方形

如果用切比雪夫距離表示,則與原點距離為$1$的點會構成一個邊長為$2$的正方形

仔細對比這兩個圖形,我們會發現這兩個圖形長得差不多,他們應該可以通過某種變換互相轉化。

事實上,

將一個點$(x,y)$的座標變為$(x+y,x-y)$後,原座標系中的曼哈頓距離 $=$ 新座標系中的切比雪夫距離

將一個點$(x,y)$的座標變為$(\frac{x+y}{2},\frac{x-y}{2})$ 後,原座標系中的切比雪夫距離 $=$ 新座標系中的曼哈頓距離

用處

切比雪夫距離在計算的時候需要取$max$,往往不是很好優化,對於一個點,計算其他點到該的距離的複雜度為$O(n)$

而曼哈頓距離只有求和以及取絕對值兩種運算,我們把座標排序後可以去掉絕對值的影響,進而用字首和優化,可以把複雜度降為$O(1)$

例題

相關推薦

曼哈頓距離距離及其相互轉化

本文只討論二維空間中的曼哈頓距離與切比雪夫距離 曼哈頓距離 定義 設平面空間記憶體在兩點,它們的座標為$(x1,y1)$,$(x2,y2)$ 則$dis=|x1-x2|+|y1-y2|$ 即兩點橫縱座標差之和 煮個栗子 如圖所示,圖中$A,B$兩點的曼哈頓距離為$AC+BC=4+3=7$

曼哈頓距離距離

曼哈頓距離 定義 設平面空間記憶體在兩點,它們的座標為(x1,y1),(x2,y2) 則dis=|x1−x2|+|y1−y2| 即兩點橫縱座標差之和 切比雪夫距離 定義 設平面空間記憶體在兩點,它們的座標為(x1,y1),(x2,y2) 則dis=max(|x

曼哈頓距離 —簡介和應用

定義兩點(x1,y1),(x2,y2)的曼哈頓距離 定義兩點(x1,y1),(x2,y2)的切比雪夫距離 切比雪夫與曼哈頓距離可以互相轉化。 一個點曼哈頓距離中的點,用切比雪夫距離計算時用。 一個點切

歐幾裏得距離曼哈頓距離距離

我們 sum 橫豎 www. 棋盤 方向 blog cnblogs 國際   歐幾裏得距離-歐氏距離,也就是我們熟知的距離,可擴展至m維   2維:d=sqrt((x1-x2)2+(y1-y2)2)   3維:d=sqrt((x1-x2)2+(y1-y2)2+(z

【總結】曼哈頓距離距離

現在 樹狀 use clas user height int 前綴和 比較 我們在用二維樹狀數組的時候,可以得到一個邊與坐標軸平行的矩形內點集的信息。 如果我們需要得到得到到一個點的距離小於等於K的點的信息呢。這些點構成的不在是邊也坐標軸

各種距離 歐式距離曼哈頓距離距離、閔可斯基距離、標準歐氏距離、馬氏距離、余弦距離、漢明距離、傑拉德距離、相關距離、信息熵

form 密碼學 一行 and gif 國際象棋 matlab 三維空間 ffi 1. 歐氏距離(Euclidean Distance) 歐氏距離是最容易直觀理解的距離度量方法,我們小學、初中和高中接觸到的兩個點在空間中的距離一般都是指歐氏距離。 二維平面上點a(x1,

關於曼哈頓距離距離

【感謝xly苣銠】 【曼哈頓距離】   【切比雪夫距離】 【關於兩者的關係】 距離原點曼哈頓距離為d的點集如下圖:它們在紅色的菱形上。 距離原點切比雪夫距離為d的點集如下圖:它們在紅色的正方形上。 這兩個圖好像很像啊。其實這兩者是可以相互

歐幾里得距離曼哈頓距離距離

定義: 1. 歐幾里得距離 公式(n維空間下) 二維: 三維: 2.曼哈頓距離:兩個點在標準座標系上的絕對軸距總和 3.切比雪夫距離:各座標數值差的最大值 曼哈頓距離與切比雪夫距離的關係: 兩者的定義看上去好像沒有關係,但實際上,這兩種距離可以相互轉化

曼哈頓距離,歐式距離,明式距離距離區別

1.曼哈頓距離 曼哈頓距離又稱Manhattan distance,還見到過更加形象的,叫出租車距離的。具體貼一張圖,應該就能明白。 上圖摘自維基百科,紅藍黃皆為曼哈頓距離,綠色為歐式距離。 2.歐式距離 歐式距離又稱歐幾里得距離或歐幾里得度量(Euclidean Me

BZOJ 2735: 世博會 主席樹+距離曼哈頓距離

區間第k大 輸出 data 小數點 -s put and text esc 2735: 世博會 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 124 Solved: 51[Submit][Status][Discuss]

松鼠搬家 ( 距離曼哈頓距離 )

cnblogs 搬家 sort play one read max hid name 題意:求切比雪夫距離 直接求不好求,可以轉化成曼哈頓距離 切比雪夫: $$ d=max( | x_1-x_2 | +| y_1-y_2 | ) $$ 曼哈頓距離: $$ d=| x_1-x

[BZOJ 2735]世博會 主席樹 距離曼哈頓距離

find 一個數 blog 卡爾 題目中的 i++ 坐標系 畫畫 笛卡爾 知識點:切比雪夫距離轉曼哈頓距離 以(x1,y1)和(x2,y2)二點為例 其切比雪夫距離為 其曼哈頓距離為 題目中的距離是切比雪夫距離,而切比雪夫距離與曼哈頓距離可以互相

BZOJ.3170.[TJOI2013]松鼠聚會(距離曼哈頓距離)

題目連結 將原座標系每個點的座標\((x,y)\)變為\((x+y,x-y)\),則原座標系中的曼哈頓距離等於新座標系中的切比雪夫距離。 反過來,將原座標系每個點的座標\((x,y)\)變為\((\frac{x+y}{2},\frac{x-y}{2})\),則原座標系中的切比雪夫距離等於新座標系中的曼哈頓距

距離曼哈頓距離】棋盤問題

【題目描述】  小O 對國際象棋有著濃厚的興趣,因為他水平高超,每次人機對戰他總是輕鬆獲勝,所 以他決定自己跟自己下國際象棋。  小O 的棋盤非常大,達到了 10^9*10^9,現在他在棋盤上擺放了 n 個國王,並對你提出 了q次詢問,每次詢問指定一個座標,問將所有國王從初始位置

曼哈頓距離&距離

什麼是切比雪夫距離?什麼是曼哈頓距離? 傻傻分不清,沒關係,看: 曼哈頓距離 設平面空間記憶體在兩點,它們的座標為(x1,y1),(x2,y2) 則dis=|x1−x2|+|y1−y2| 即兩點橫縱座標差之和 切比雪夫距離 設平面空間記憶體在兩點,它們的座標為

HDU 4311&4312 Meeting point-1&2 (曼哈頓距離&&距離)

題意:平面上有n個點,一個點(x,y)只能到達(x-1,y), (x+1,y), (x, y-1), (x, y+1)4個點。從n個點中找到一點,使其他點到此點的距離之和最小。 思路: 可以發現,兩個點間距離為 |x1-x2| + |y1-y2| ,這便是兩點間的曼哈頓距

BZOJ_3170_[Tjoi2013]松鼠聚會_距離+前綴和

zoj 左右 struct Language number 上下左右 truct include ans BZOJ_3170_[Tjoi2013]松鼠聚會_切比雪夫距離+前綴和 題意:有N個小松鼠,它們的家用一個點x,y表示,兩個點的距離定義為:點(x,y)和它周圍的8個點

BZOJ_3210_花神的澆花集會_距離

abs type 算法 printf fabs inpu 簡單 class def BZOJ_3210_花神的澆花集會_切比雪夫距離 Description 在花老師的指導下,每周4都有一個集會活動,俗稱“澆水”活動。 具體澆水活動詳情請見

BZOJ_3476_[Usaco2014 Mar]The Lazy Cow_掃描線+距離

truct lease only NPU int content 線段樹 urn fin BZOJ_3476_[Usaco2014 Mar]The Lazy Cow_掃描線+切比雪夫距離 Description It‘s a hot summer day, and

ACM-ICPC 2018 瀋陽賽區現場賽 E. The Kouga Ninja Scrolls 距離 + 線段樹

題目連結: 題意:在二維平面上有 n 個人,每個人有一個位置(xi, yi)和門派 ci,m 個操作:①改變第 k 個人的位置;②改變第 k 個人的門派;③詢問區間[l,r]之間不同門派的兩個人的最大曼哈頓距離。 題解:首先需要將曼哈頓距離轉化成切比雪夫距離(不懂戳https://www.cnblogs.