凸包模板(注意去重)

2021-06-23 05:29:23 字數 705 閱讀 1179

#include#include#include#include#define inf 1000000

#define n 1000

#define eps 1e-6

using namespace std;

struct point

g[n]; //定義了乙個全域性變數,記錄凸包中的點

/*--------按余弦值,從大到小快速排序--------*/

void qsort(int st,int en)

map[++tot]=g[k];

p++;

}/*第四步,對map中的元素掃瞄一遍,確定凸包的元素,放在陣列g中*/

*n=tot; tot=3; //先做了乙個小小的處理,使得自己更好理解

memset(g,0,sizeof(g));

g[1]=map[1]; g[2]=map[2]; g[3]=map[3]; //先將前三個點入棧 g

for(int i=4;i<=*n;i++) //依次用map中的每個點對g中的點進行一次判斷,看是否是屬於凸包

g[++tot]=map[i]; //將map[i]這個點入棧,至於是否是屬於凸包中的點,等待以後的點來判斷

}*n=tot;//凸包處理完,總共有tot個凸包上的點

}int main()

return 0;

}

凸包模板題

poj 1113 這道題是凸包第一題,也是我學習演算法的一題。直接看了題解,看別人怎麼寫的然後自己模仿,寫出自己的凸包模板 這道題,直接凸包然後算個長度就可以了 include include include include includeusing namespace std struct poi...

凸包模板 優化

const double eps 1e 9 struct point 儲存點 point int x,int y x x y y point operator point b 重構減法 bool operator point p intsgn int d 判斷d的符號函式,d大於0返回1,小於0返回...

凸包(Andrew演算法)模板

andrew演算法是graham的變種,相較graham,其更快,數值穩定性更好。藍書 struct nodep maxn ch maxn bool cmp node a,node b int cross node p0,node p1,node p2 凸包邊上可以有點,則 否則 int conve...