Beauty Contest(求凸包最大直徑)

2022-05-02 06:12:06 字數 1401 閱讀 1518

此處省略1w字^ ^

貝茜在牛的選美比賽中贏得了冠軍」牛世界小姐」。因此,貝西會參觀n(2 < = n < = 50000)個農場來傳播善意。世界將被表示成乙個二維平面,每個農場位於一對整數座標(x,y),各有乙個值範圍在-10000…10000。沒有兩個農場共享相同的一對座標。

儘管貝西沿直線前往下乙個農場,但牧場之間的距離可能很大,所以她需要乙個手提箱保證在每一段旅程中她有足夠吃的食物。她想確定她可能需要旅行的最大可能距離,她要知道她必須帶的手提箱的大小。幫助貝西計算農場的最大距離。

第一行:乙個整數n

第2~n+1行:xi yi 表示n個農場中第i個的座標

一行:最遠距離的[b]平方[/b]

輸入 #1

40 0

0 11 1

1 0輸出 #1

2none

#include//

求凸包最大直徑

using

namespace

std;

const

int maxn = 50010

;const

int inf = 0x7fffffff

;struct

point

};typedef point vector;

point

in[maxn], out

[maxn];

vector

operator-(vector a, vector b)

double

cross(vector a, vector b)

bool

operator

<(const point &a, const point &b)

int convexhull(point *p, int n, point *ch)

int k =m;

for (int i = n - 2; i >= 0; i--)

if (n > 1) m--;

returnm;}

double

length(vector a)

double rotatecalipers(point *ch, int

n) ans = max(ans, max(length(ch[q] - ch[i]), length(ch[q + 1] - ch[i + 1

])));

}return

ans;

}int

main()

ans = convexhull(in, n, out

); cout

<< fixed

<< setprecision(0) << rotatecalipers(out, ans) <}

return0;

}

graham求凸包演算法

問題 點集q的凸包 convex hull 是指乙個最小凸多邊形,滿足q中的點或者在多邊形邊上或者在其內。這個演算法是由數學大師葛立恆graham發明的,他曾經是美國數學學會ams att 首席科學家.see 模板 see include include using namespace std cl...

poj1113 求凸包 計算凸包周長

經典的求凸包題,模板題。要求用資源最少,那肯定這個多邊形是個凸多邊形,也就是凸包。所以先求出凸包,計算它的周長。還有就是這道題所說的,要離城牆l遠,其實就是在加上乙個圓的周長,圓的半徑就是l。都說到這了,這道題還差什麼?還差乙個經典的凸包模板!哈哈 如下 include include includ...

求凸包及凸包上距離最遠點對

證明axb的模是a,b為鄰邊的平行四邊形面積 在乙個二維平面上距離最遠的兩個點一定在凸包上。求凸包這裡給出 時間複雜度 o n n 思路 graham掃瞄的思想和jarris步進法類似,也是先找到凸包上的乙個點,然後從那個點開始按逆時針方向逐個找凸包上的點,但它不是利用夾角。步驟 把所有點放在二維座...