1. 程式人生 > >曼哈頓距離 與 切比雪夫—簡介和應用

曼哈頓距離 與 切比雪夫—簡介和應用

定義兩點(x1,y1),(x2,y2)的曼哈頓距離=|x1-x2|+|y1-y2| 定義兩點(x1,y1),(x2,y2)的切比雪夫距離=\max(|x1-x2|,|y1-y2|)

切比雪夫與曼哈頓距離可以互相轉化。 一個點曼哈頓距離中的點(x,y),用切比雪夫距離計算時用(x+y,x-y)。 一個點切比雪夫距離中的點(x,y),用曼哈頓距離計算時用((x+y)/2,(x-y)/2)

這有什麼用呢? 在座標系中畫出來,可以發現距離(0,0)曼哈頓距離為1的點呈一個菱形(其實是正方形旋轉135°(45°)),切比雪夫距離為1的呈正方形。 曼哈頓轉切比雪夫:一般來說一個正方形狀更便於用各類資料結構來維護。(例:洛谷4648 [IOI2007] pairs 動物對數 ) 切比雪夫轉曼哈頓:一般是便於統計距離和。(例:3964 [TJOI2013]松鼠聚會)