摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1756方法:求解以某点为起点的射线与多边形边的交点个数,奇数时则点在内,偶数在外需要特别注意交点在顶峰和谷底以及射线与边平行的情况#include#includetypedef struct node{ double x,y;}point;point p,a[110],b;int n;double min(double a,double b){ return a>b?b:a;}double max(double a,double b){ return a>b?a:b;}int point_i... 阅读全文
posted @ 2013-08-24 16:52 执着追求的IT小小鸟 阅读(226) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1411直接套公式公式:欧拉四面体公式,用来求三棱椎的体积。V=sqrt((4*a*a*b*b*c*c-a*a*(b*b+c*c-m*m)*(b*b+c*c-m*m)-b*b*(c*c+a*a-n*n)*(c*c+a*a-n*n)-c*c*(a*a+b*b-l*l)*(a*a+b*b-l*l)+(a*a+b*b-l*l)*(b*b+c*c-m*m)*(c*c+a*a-n*n)))/12;如三棱椎OABC,O为顶点,ABC为底面三角形则a-OA (线段OA 的长度为 a)b-OB (OB 长为 b)c-OC (. 阅读全文
posted @ 2013-08-24 10:59 执着追求的IT小小鸟 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 算法流程:1:计算凸多边形y方向上的极值点,记为ymin,ymax。经过ymin,ymax作两条平行于x轴的水平线。这两点意见就是对踵点,计算它们的距离并维护最大值2:同时旋转两条直线,直至某一条线与多边形的一条边重合。此时产生了新的一对对踵点,计算新的距离并更新重复前两个步骤,直至重新回到ymin,ymax这对对踵点。输出最大直径(这里做适当改变就可以求最大面积等)//o(n)int dia_rotating_calipers(int n){ int i,q,dia=0; for(i=0,q=1;icross_product(stak[i],stak[i+1],stak[q]))... 阅读全文
posted @ 2013-08-24 08:41 执着追求的IT小小鸟 阅读(175) 评论(0) 推荐(0) 编辑