随笔分类 -  ACM_计算几何

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1086跨立实验算法#include#include#include#includeusing namespace std;struct Point{ double x,y;} ;struct Line{ ... 阅读全文
posted @ 2014-05-24 12:02 清风旋叶 阅读(126) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1071#include#includeint main(){ //freopen("in.txt","r",stdin); int t; scanf("%d",&t); while(t--)... 阅读全文
posted @ 2014-05-24 11:55 清风旋叶 阅读(305) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1115思路:转换为求三角形的重心。从第一个顶点出发,分别链接i,i+1形成三角形,分别求出每个三角形的面积,总面积之和为各部分之和。根据物理公式n个点的质量是mi,则重心是:X=(x1*m1+x2*m2+...xn... 阅读全文
posted @ 2014-05-24 09:58 清风旋叶 阅读(908) 评论(0) 推荐(0)
摘要:你有一块椭圆的土地,你可以在边界上选n个点,并两两链接得到n*(n-1)/2条线段。它们最多能把土地分为多少个部分?样例输入:4样例输出:8分析:欧拉公式:V-E+F=2。V是顶点数,F是面数(即土地块数加上最外面那个面),E是边数。只要求出V,E,答案就是E-V+1。不管是顶点还是边,计算时都要枚举一条从固定点出发(所以,最后要乘以n)的所有对角线。假设该对角线的左边有i个点,右边有n-2-i个点,则左右两边的点两两搭配后在对角线上形成了i*(n-2-i)个交点,得到了i*(n-2-i)+1个线段。注意,每个交点被重复计算了4次,每个线段被重复计算了2次。因为一个交点有两个线段相交而成,共有 阅读全文
posted @ 2013-07-27 10:58 清风旋叶 阅读(202) 评论(0) 推荐(0)
摘要:#include#includedouble area(double x0,double y0,double x1,double y1,double x2,double y2){ return fabs((x0*y1+x2*y0+x1*y2-x2*y1-x0*y2-x1*y0));}int main(){ double x0, y0, x1, y1,x2, y2,S; int n; int count; scanf("%d",&n); while(n--) { count=0; scanf("%lf%lf%lf%lf%lf%lf",&x0 阅读全文
posted @ 2013-07-27 10:33 清风旋叶 阅读(181) 评论(0) 推荐(0)