題解 洛谷 P1429 平面最近點對(加強版)

2022-03-16 14:34:49 字數 938 閱讀 9068

p1429 平面最近點對(加強版)

分治。

左邊的最近距離為 \(dl\),右邊的最近距離為 \(dr\)。

如何得到整塊的最近距離?

我們所需要做的就是計算兩塊之間距離小於 \(d = \min(dl, dr)\) 的點之間的距離然後取最小值。

先把兩塊中距離 \(mid\) 的水平距離小於 \(d\) 的點加入乙個集合,然後按縱座標排序暴力去計算距離。

可以證明在這個區域內距離小於 \(d\) 的點對有很少。

}三維的怎麼做?

p1429 平面最近點對

題意 給平面n個點,求最近的兩個點的距離。思路 運用分治思想,對於n個點,可以分成t n 2 t n 2 的規模,分界線是x座標的中位數,假設左邊點集合為s1,右邊點集合為s2,那麼最小值存在於以下三種情況中。1.s1中任意兩點距離的最小距離 2.s2中任意兩點距離的最小距離 3.s1中的點到s2中...

洛谷P1429 平面最近點對(加強版)

給定平面上n個點,找出其中的一對點的距離,使得在這n個點的所有點對中,該距離為所有點對中最小的 輸入格式 第一行 n 2 n 200000 接下來n行 每行兩個實數 x y,表示乙個點的行座標和列座標,中間用乙個空格隔開。輸出格式 僅一行,乙個實數,表示最短距離,精確到小數點後面4位。輸入樣例 1 ...

洛谷P1429 平面最近點對(加強版)

核心是分治演算法 分別根據點的 x,y 值進行排序 在 x 軸上劃一道垂線,將點均分成兩半 假設最近點對都在左 右部分,遞迴計算左 右半部分的最短距離 並返回較小值 dis 假設最近點對分別在左右兩個部分,橫跨中心的豎線.中心線為中心,2 dis 為寬度畫乙個矩形,橫跨中心線的最近點對 candid...