03 2013 档案

摘要:题目:http://poj.org/problem?id=1113题意:给定多边形城堡的n个顶点,绕城堡外面建一个围墙,围住所有点,并且墙与所有点的距离至少为L,求这个墙最小的长度。公式:城堡围墙长度最小值 = 城堡顶点坐标构成的散点集的凸包总边长 + 半径为L的圆周长View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #define PI 3.1415926535 6 using namespace std; 7 阅读全文
posted @ 2013-03-08 18:01 琳&leen 阅读(159) 评论(0) 推荐(0)
摘要:题目:http://poj.org/problem?id=2187题意:给定平面上的一些散点集,求最远两点距离的平方值。基于水平序的Andrew算法(Graham算法的变种)1、按照x从小到大排序(如果x相同就按照y从小到大排序),删除重复点后得到序列p1,p2,。。。。2、把p1和p2放到凸包中。从p3开始,当新点在凸包的前进方向的左边时继续,否则依次删除最近加入凸包的点,直到新点在左边。3、依次枚举凸包的的任意两点,求出最大距离的平方View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cm 阅读全文
posted @ 2013-03-08 17:44 琳&leen 阅读(160) 评论(0) 推荐(0)
摘要:题目:http://poj.org/problem?id=1584参考的别人的解题报告。。。。题意:按照顺时针或逆时针方向输入一个n边形的顶点坐标集,先判断这个n边形是否为凸包。再给定一个圆形(圆心坐标和半径),判断这个圆是否完全在n变形内部。思路:注意输入完顶点集后,要封闭多边形,方便后面枚举边。封闭方法:定义点集数组Vectex[1~n]记录n个顶点,再令Vectex[0]=Vectex[n],Vectex[n+1]=Vectex[1]1、判断凸包: 由于点集已经按某个时针方向有序,因此可以先定义一个方向系数direction=0 两两枚举n边形的边,用叉积判断这两条边的转向(右螺旋或左螺 阅读全文
posted @ 2013-03-02 23:31 琳&leen 阅读(170) 评论(0) 推荐(0)
摘要:题目:http://poj.org/problem?id=1408题意:一个1X1的正方形,每条边上有n个不同的点(不包括顶点),并给出它们的坐标。现在把对边相对应的点相连,将正方形分割成(n+1)*(n+1)个小四边形。问最大的四边形的面积是多少。直接贴代码好了。。。View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cmath> 4 using namespace std; 5 typedef struct node 6 { 7 double x,y; 8 }point; 9 poi 阅读全文
posted @ 2013-03-01 18:01 琳&leen 阅读(140) 评论(0) 推荐(0)