此處省略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步進法類似,也是先找到凸包上的乙個點,然後從那個點開始按逆時針方向逐個找凸包上的點,但它不是利用夾角。步驟 把所有點放在二維座...