poj 3348 凸包面積計算

2021-08-19 07:15:04 字數 679 閱讀 9231

解題思路:

求面積的話,選取凸包上的乙個點作為基點,然後把多邊形分成好多三角形,然後用叉積去算三角形面積就可以了。

#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int mx = 1e5 + 10;

int n,top,_x,_y;

struct node

s[mx],tubeg[mx],w;

//在向量右側值為負

int judge(node p1,node p2,node p0)//面積公式判斷正負值

bool cmp(node a,node b)

void graham()

}int main()

if(n<=2)

swap(s[0],s[p]),w.x = s[0].x,w.y = s[0].y;

sort(s+1,s+n,cmp);//以最下左那個座標為參考座標做極角排序

graham();

double ans = 0,x1,x2,y1,y2;

for(int i=1;iprintf("%d\n",int(ans/50));

} return 0;

}

POJ 3348 Cows 凸包面積

題意 求凸包面積 50,取整 include include include include include include include using namespace std double eps 1e 12 struct cpoint double x mult cpoint a,cpoin...

POJ3348 Cows 求凸包面積

題意 求給定的n個座標形成的凸包面積 套公式即可。從而引入凸包 思路 本題利用叉乘求面積 選取凸包上的乙個點作為基點,然後把多邊形分成許多的三角形,然後用叉積去算三角形面積即可 求解凸包用到的是andrew演算法,graham演算法的變種,速度更快穩定性也更好。兩種演算法的複雜度均為o nlogn ...

POJ 3348 Cows 凸包 求面積

link 題意 給出點集,求凸包的面積 思路 主要是求面積的考察,固定乙個點順序列舉兩個點叉積求三角形面積和除2即可 date 2017 07 19 16 07 11 filename poj 3348 凸包面積 叉積.cpp platform windows author lweleth soun...