BZOJ3348 Cows 凸包 凸包面積

2021-07-11 22:22:51 字數 879 閱讀 5566

【題目鏈結】

題意:求凸包,求面積,然後給面積除以50,向下取整。

用的andrew演算法,即跑兩次,先求出下凸包,然後再求出上凸包。

求面積時候應該用凸包陣列求,結果寫成了原來的點的陣列,調了20多分鐘。弱智+2

/* telekinetic forest guard */

#include #include #include #include using namespace std;

typedef double db;

const int maxn = 10005;

const db eps = 1e-15;

int n, m;

inline int dcmp(db x)

struct vector

vector operator - (const vector &a) const

bool operator < (const vector &a) const

bool operator == (const vector &a) const

} p[maxn], cov[maxn];

typedef vector point;

inline db cross(vector a, vector b)

inline void andrew()

k = m;

for(int i = n - 1; i; i--)

}inline db getarea()

int main()

andrew();

printf("%d\n", (int)(getarea() / 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...

POJ 3348 Cows 凸包裸題

給出n個點,求乙個凸包,然後將凸包面積除以50,下取整就是答案。直接用安德魯演算法求出凸包 求出上下凸殼 然後再求多邊形面積即可。主要是用來試板子的。include include include include include include define rep i,a,b for int i ...

POJ3348 Cows 求凸包面積

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