「学习笔记」切比雪夫距离
生活随笔
收集整理的這篇文章主要介紹了
「学习笔记」切比雪夫距离
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
切比雪夫距離
[maxlimits_{i=1}^{n} |ax_i-ay_i|
]
就是坐標差的絕對值的極值
然后我們思考曼哈頓距離和切比雪夫距離的關系:
在紙上建一個二維坐標系,然后畫一個與原點曼哈頓距離為 (5) 的正方形 (S_1)
然后再畫一個切比雪夫距離為 (5) 的正方形 (S_2)
看看它們,是不是有某種奇妙的聯系:(S_1) 旋轉 (45) 度后放大為原來原來的兩倍就是 (S_2)
互相轉化的公式為$(x,y) on S_1 ightarrow(frac{x+y}{2},frac{x-y}{2}) on S_2 $
這里可以用來使某些題的處理更加方便
例題
Luogu5193 [TJOI2012]炸彈
曼哈頓兩個維度有點頭疼,不好處理,那我們轉切比雪夫
這樣我們把距離轉成了以每個點為原點,在定邊長切比雪夫距離矩形中框點
我們上 (map) 掃描線就行了
我們在處理每個點的時候就直接找那個離他 (y) 最近的上下兩個就行了
因為那個點已經考慮了前面的點
Luogu3966 單詞
看出來是個切比雪夫不難
然后把切比雪夫轉成曼哈頓
這樣距離就可以前綴和求啦!
BZOJ2735世博會
把發現題目里面要求的是一個切比雪夫距離
那么轉到曼哈頓上維護中位數和前后綴和即可
然后寫一下這題目我犯的所有錯誤:
1.線段樹查詢:
if(st<=mid) ...
else ...->if(ed>mid)
2.求和的時候減東西減錯了,應該拿 (pair o second) 來
然后就沒了
總結
以上是生活随笔為你收集整理的「学习笔记」切比雪夫距离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 墨卡托投影、地理坐标系、地面分辨率、地图
- 下一篇: 【C编程基础】C编译链接命令gcc