不做不知道,做了才發現凸包的模版錯的太多了。。。。。
感謝cxlove的耐心糾錯。。。。。。。終於能有個比較好的凸包模版了。。。。兩頁的wa。。。。。
#include#include#include#include#include#include#define zero(x) (((x)>0?(x):-(x))s;
double dist(point p1,point p2)
double xmult(point p1,point p2,point p0)
bool cmp(const node &p1,const node &p2)
return 0;
}void graham()
{ int i,end;
pos=0;
sort(p+1,p+n,cmp);
for(i=0;i<3;i++) s.push_back(p[i]);
for(i=3;i=2&&xmult(s[end-1],s[end],p[i])
Poj1228 穩定凸包
題意 給定一些點,問這些點能不能夠成穩定的凸包,這有點不明不白的,我也是看了別人的報告才搞明白題意的,就是如果凸包上的一條邊如果不包含三個以上的點,它就是可以被向外擴充套件的.解題 弄明白了題意,以為會很簡單了,直接掃瞄求凸包就行了,而且是不用退棧的過程,後來在實現過程中才發現,即使給出的所有點都在...
POJ1228 穩定凸包
看題半天沒看懂意思,以為就是判斷是否有凸包結果。看了題解才知道,是要確定乙個凸包是否唯一,即不能通過新增點變成新的凸包,也就是凸包的每條邊上至少有3個點。include include include include include define maxl 1010 define eps 1e 8 ...
POJ 1228 穩定凸包
解題思路 所謂穩定凸包就是不存在凸包外加入乙個點使得形成的新凸包還包含原凸包的所有點。所以要使他是穩定的,那麼凸包的每條邊都必須有三個點,也就是除了兩個端點外邊上還有一點,這樣如果要在外加入乙個點的話必然使得邊上的點被消除,所以這樣的凸包也就是穩定的了。include include include...