【題目鏈結】
題意:求凸包,求面積,然後給面積除以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 ...