随笔分类 - 计算几何
摘要:根据正方形对角的两顶点求另外两个顶点公式: x2 = (x1+x3-y3+y1)/2; y2 = (x3-x1+y1+y3)/2; x4= (x1+x3+y3-y1)/2; y4 = (-x3+x1+y1+y3)/2;
阅读全文
摘要:#include #include #include using namespace std; typedef long long ll; const int MAXN = 1000008; char s[MAXN]; int dx[] = {-1, -1, -1, 0, 0, 0, 1, 1, 1}; int dy[] = {-1, 0, 1, -1, 0, 1, -1, 0, 1}; ...
阅读全文
摘要:题意:求多边形的核的面积 套模板即可
阅读全文
摘要:和POJ 3130,POJ 3335一样。求多边形的核
阅读全文
摘要:和POJ3335一样,只不过这题是逆时针
阅读全文
摘要:求多边形的核
阅读全文
摘要:n最大15,二进制枚举不会超时。枚举不被砍掉的树,然后求凸包
阅读全文
摘要:极角排序即可
阅读全文
摘要:凸包加上圆周长即为结果,用了kuangbin的凸包模板
阅读全文
摘要:int sgn(double x) { if(fabs(x) operator &(const Line &b)const { Point res = p; if(sgn((p-q)^(b.p-b.q)) == 0) { if(sgn((p-b.q)^(b.p-b.q)) == 0) ...
阅读全文
摘要:题意不难理解,给出多个多边形,输出多边形间的相交情况(嵌套不算相交),思路也很容易想到。枚举每一个图形再枚举每一条边 恶心在输入输出,不过还好有sscanf(),不懂可以查看cplusplus网站 根据正方形对角的两顶点求另外两个顶点公式: x2 = (x1+x3-y3+y1)/2; y2 = (x
阅读全文
摘要:POJ 2826 An Easy Problem?! -- 思路来自kuangbin博客 下面三种情况比较特殊,特别是第三种 G++怎么交都是WA,同样的代码C++A了
阅读全文
摘要:首先判断是不是凸多边形 然后判断圆是否在凸多边形内 不知道给出的点是顺时针还是逆时针,所以用判断是否在多边形内的模板,不用是否在凸多边形内的模板 POJ 1584 A Round Peg in a Ground Hole(判断凸多边形,点到线段距离,点在多边形内)
阅读全文
摘要:题意: 题意很好理解,从左边射过来的光线,最远能经过管道到右边多少距离。 分析: 光线一定经过一个上端点和一个下端点,这一点很容易想到。然后枚举上下端点即可
阅读全文
摘要:题意: 给出房子,障碍物,观光线(都为平行于x轴的线段)。问在观光线上能看到整个房子的最长距离 分析: 将房屋的端点与障碍物的端点连线,求出与观光线的横坐标。这些坐标会把观光线分成多个区间,然后枚举每一个区间的中点,来判断这个区间是否能看到整个房子 要注意的是:不一定每个障碍物都在房屋与观光线之间,
阅读全文
摘要:求出正方形的左右端点,再判断是否覆盖
阅读全文
摘要:题意: 一只特别的蚂蚁,只能直走或者左转。在一个平面上,有很多株植物,这只蚂蚁每天需要进食一株,这只蚂蚁从起点为(0,miny)的点开始出发。求最多能活多少天 分析: 肯定是可以吃到所有植物的,以当前方向无限延长成直线,可以剩余的植物都在直线的左边。所以就是求上一个位置到当前位置与下一个位置与当前位
阅读全文
摘要:这个题目要注意的是:给出的矩形坐标不一定是按照左上,右下这个顺序的
阅读全文
摘要:判断以宝藏的坐标和中点的坐标为线段的点是否与墙相交,求最少相交的墙的数量 中点算出来,枚举中点和墙
阅读全文