這個東西比較強。。。。。
當然,可以交智商稅(開發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位。輸入...