凸包 旋轉卡殼 平面最遠點對

2022-05-29 04:00:09 字數 1176 閱讀 5729

題目描述

給定n個點求平面最遠點對

n<=50000

題解

嘛。。。自己想練練手才寫上來的。。。

不過**沒問題的啦~

就是像我在計算幾何學習筆記

中說的一樣

先求凸包再旋轉卡殼求就行了

複雜度nlogn

【資料可以再大一點的2333】

**

//

by 減維

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define db double

#define inf 1<<30

#define maxn 500005

#define eps 1e-8

using

namespace

std;

struct

nodepoi[maxn],sta[maxn];

bool cmp(node x,node y)

bool cm2(node x,node y)

node

operator - (node x,node y);}

db operator * (node x,node y)

db dis(node x,node y)

intn,top;

db mx;

void

solve()

}int

main()

int tt=top;

sort(poi+1,poi+n+1

,cm2);

sta[++top]=poi[2

];

for(int i=3;i<=n;++i)

top--;

solve();

printf(

"%.5lf

",mx);

return0;

}

POJ2187 旋轉卡殼求平面最遠點對

分類 計算幾何 2013 02 12 15 23 62人閱讀收藏 舉報旋轉卡殼可以用於求凸包的直徑 寬度,兩個不相交凸包間的最大距離和最小距離等。深度學習旋轉卡殼這裡 題目 beauty contest cpp view plain copy include include include usin...

poj 2187 旋轉卡殼(平面上最遠點對)

題意 給定二維平面上不超過50000個點,求最遠點對距離的平方。思路 由資料量來判斷直接列舉會超時。注意到最遠距離點對必出現在這些點的凸包上,所以可以先求出凸包,然後在凸包上列舉。此法的最壞情況複雜度仍然是n 2的,但是可以ac這道題了。在複雜度意義下的優化是旋轉卡殼 參考 如果qa,qb是凸包上最...

尋找最遠點對(凸包求解)

td走廊裡有一關 勇闖梅花樁 水面上稀稀落落地立著幾根柱子。nova君自認為輕功不錯,覺得可以在任意兩根柱子之間跳躍,現在他想挑戰一次跨越距離最遠的兩根柱子。請問,最遠距離是多少?由於木樁以橫縱座標形式給出,為了計算方便,避免求平方根,答案只需給出距離的平方即可 多組測試資料 組數不超過10 對於每...