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

2021-10-07 20:58:53 字數 778 閱讀 5504

這個東西比較強。。。。。

當然,可以交智商稅(開發kd—ree)

然後我並不會。。

於是乎只能看題解。。。。

就是把平面一直分割

然後每次根據左右得出的結論進行剪枝。。。

然後就可以優化過掉這題

大概是o(n

logn

)o(nlogn)

o(nlog

n)上界挺鬆的

#include

#define maxn 3000001

using

namespace std;

int n,q[maxn]

,js;

struct nodet[maxn]

;bool

cmp(node a , node b)

bool

cmp2

(const

int&a ,

const

int&b)

double

dis(

int a ,

int b)

void

init()

double

cal(

int l ,

int r)

}return zz;

}int

main()

啟發的話。。。

想到暴力怎麼做。。有些眉目後,要大膽去做。。。。

一些很像nlogn的資料,大多數都是分治結構。。。

考慮優化暴力。。

p1429 平面最近點對

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

洛谷1429 平面最近點對(KDTree)

題目鏈結 qwq 明明可以直接分治過掉的 但是還是當作聯絡了 首先,對於這種點的題,很顯然的套路,我們要維護乙個子樹mx i m n i mx i mn i mx i mn i 分別表示每個維度的最大值和最小值 這裡有乙個要注意的東西!就是我們upup up的時候,要判斷一下當前是否還有左 右兒子 ...

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

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