Cows POJ 3348 凸包 多邊形面積

2021-09-27 01:37:26 字數 770 閱讀 9311

題目大意

給出n個點,讓你求凸包的面積/50的值是多少

解題思路

先求出凸包,然後根據多邊形面積公式求出公式

多邊形面積公式:

for

(int i=

0;i1;i++

) ans+

=(ch[i]

.x*ch[i+1]

.y-ch[i+1]

.x*ch[i]

.y);

ans=

abs(ans)

/2.0

;

ac**

#include

#include

#include

using namespace std;

const

int n=

1e5+5;

struct node};

node e[n]

,ch[n]

;int n,m;

intcmp

(node a,node b)

double

cross

(node a,node b)

void

andrew()

//求凸包

int k=m;

for(

int i=n-

2;i>=

0;i--)}

intsolve()

intmain()

BZOJ3348 Cows 凸包 凸包面積

題目鏈結 題意 求凸包,求面積,然後給面積除以50,向下取整。用的andrew演算法,即跑兩次,先求出下凸包,然後再求出上凸包。求面積時候應該用凸包陣列求,結果寫成了原來的點的陣列,調了20多分鐘。弱智 2 telekinetic forest guard include include inclu...

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...

poj 3348 凸包面積計算

解題思路 求面積的話,選取凸包上的乙個點作為基點,然後把多邊形分成好多三角形,然後用叉積去算三角形面積就可以了。include include include include includeusing namespace std typedef long long ll const int mx 1...