![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算几何
文章平均质量分 79
xuechelingxiao
这个作者很懒,什么都没留下…
展开
-
POJ 1265 Area (计算几何)(Pick定理)
Area 大意:每次给你一个点的横纵坐标变化值,求有多少点在多边形上,有多少点在多边形内,和多边形的面积。 思路:Pick定理。一个计算点阵中顶点在格点上的多边形面积公式:S=a+b÷2-1,其中a表示多边形内部的点数,b表示多边形边界上的点数原创 2014-03-07 14:34:14 · 874 阅读 · 0 评论 -
Light OJ 1385 Kingdom Division(几何)
博客原文地址:Kingdom Division放了好几天的一道题,终于解决了,很是欣慰。题目大意:给你任意三角形,如图F是AB边上任意一点,E是AC边上任意一点,X为BE与CF线段的交点,已知a,b,c三部分的面积,求d的面积,如果d的面积不确定,输出-1。解题思路:连接AX,记△AFX的面积为m,△AEX原创 2014-08-26 10:51:47 · 1048 阅读 · 0 评论 -
POJ 1584 A Round Peg in a Ground Hole(凸包判定&&圆在凸包内判定)
博客原文地址:A Round Peg in a Ground Hole题目大意:按顺时针或逆时针给出多边形的顶点坐标、圆的半径及圆心坐标。1.求多边形是否是个凸包,若不是输出“HOLE IS ILL-FORMED”。2.如果多边形为凸包,判定圆是否在凸包内,若凸包在园内,输出“PEG WILL FIT”,若不在,输出“PEG WILL NOT FIT”。原创 2014-09-10 11:15:41 · 964 阅读 · 0 评论 -
HDU 5033 Building(2014北京网络赛 单调栈+几何)
博客原文地址:Building原创 2014-09-23 10:15:34 · 1381 阅读 · 3 评论 -
POJ 1106 Transmitters (简单计算几何)
博客原文地址:Transmitters 题目大意:给你一个半圆的圆心跟半径,再给你N个点,半圆可以绕圆心旋转任意角度,求半圆最多可以覆盖的点的个数是多少。解题思路:因为圆心是固定的,就很简单了。先把在圆的覆盖范围内的点找出来,再对这些点循环去找对于每个点来说,跟它在同一侧的点的个数,同侧的点判断就用叉积就可以,当叉积>=0的时候就是同一侧的。代码原创 2014-09-15 19:54:31 · 1126 阅读 · 0 评论 -
POJ 1127 Jack Straws (线段相交+并查集)
博客原文地址:Jack Straws题目大意:给你一些塑料棒,散落在平面上,如果两个棒相交,那么这两个就是一堆的。假如1跟2相交,2跟3相交,1跟3不相交,那么1、2、3是一堆的,如果1跟3也相交,那么1、2、3更是一堆的了。接下来有多个输入,输入两个塑料棒的编号,问这两个编号的塑料棒是不是一堆的。解题思路:整体看上去是一个并查集的问题,因为只要是相交的原创 2014-09-15 21:20:01 · 1095 阅读 · 0 评论 -
POJ 1113 Wall(凸包)
博客原文地址:Wall题目大意:给出多边形城堡的所有顶点,在外围建一圈城墙,城墙距离城堡的距离至少为L,求城墙的最小长度。解题思路:其实所求问题可以转换成两部分,一部分是以多边形围城的凸包的长度,另一部分则是凸包向外扩L之后,剩下的部分会填补成一个整圆。如图:#include #include #include #inclu原创 2014-09-03 10:42:52 · 707 阅读 · 0 评论 -
POJ 1329 Circle Through Three Points(求三角形的外接圆)
Circle Through Three Points题目大意:给你三个不共线的三个点的坐标,求出过这三个点的圆的方程。写出方程的两种形式。解题思路:其实题目要求写出的方程的形式中包含圆心坐标跟半径,所以说关键问题其实就是求出过三点圆的圆心跟半径就OK了。其实就是个求三角形外接圆的题目,最后加上一些蛋疼的输出控制就可以了。原创 2014-11-10 19:45:43 · 1639 阅读 · 0 评论 -
POJ 1654 Area(多边形面积)
博客原文地址:Area题目大意:给你一个数字组成的字符串,每一位都有1-9(除了5)8个数字,表示8个方向的移动,字符串以5结尾。问最后轨迹形成的多边形的面积是多少。解题思路:其实这个题本身并不是很难,关键是细节的处理比较蛋疼。。。首先100w的数组起初我用double开的时候了,然后看了一下,确实没必要用double,就改成int了。然后就是输原创 2014-10-30 13:58:14 · 892 阅读 · 0 评论 -
POJ 1673 EXOCENTER OF A TRIANGLE(求三角形的垂心)
博客原文地址:EXOCENTER OF A TRIANGLE题目大意:一个三角形,以它的每一条边为边各画一个正方形,将各正方形的顶点连起来,将连线的中点与三角形的顶点分别相连并延长,延长线交于一点,求交点的坐标。如图:解题思路:其实这个题代码不是很长,就是求三角形的垂心,但关键的问题就是怎么证明这个交点是三角形的垂心。这就需要作辅助线了,作A原创 2014-10-31 19:06:10 · 1381 阅读 · 0 评论 -
POJ 1859 The Perfect Symmetry && POJ2526 Center of symmetry(思维题)
博客原文地址:The Perfect Symmetry原创 2014-11-01 16:08:27 · 984 阅读 · 0 评论 -
POJ 1927 Area in Triangle(计算几何)
Area in Triangle博客原文地址:题目大意:原创 2014-11-02 13:58:27 · 1829 阅读 · 0 评论 -
POJ 1473 There's Treasure Everywhere!(简单几何)
There's Treasure Everywhere!题目大意:给你一个字符串,里面有许多的操作,前面的数字是移动的距离,后面的英文表示移动的方向,问最后从远点出发的一个点回落在什么地方以及距离出发点的距离是多少。解题思路:题目本身并不是很难,也没有什么坑点,没什么好说的,字符串处理的时候细心一点就行。 PS:每组后面需要加一个回车,原创 2014-11-06 18:42:01 · 1044 阅读 · 0 评论 -
POJ 1380 Equipment Box(判断一个长方形能不能包含另一个长方形)
Equipment Box题目大意原创 2014-11-06 20:51:17 · 1712 阅读 · 0 评论 -
ZOJ 3806 Incircle and Circumcircle(几何+二分)
博客原文地址:Incircle and Circumcircle题目大意:给你一个三角形的内切圆半径跟外接圆半径,求解出符合条件的三角形,输出三角形的三条边的长度,如果没有符合条件的三角形,输出“NO Solution!”。解题思路:这个题是SP,既是因为情况不唯一,而且还有精度的误差。 首先能够想到的就是NO Solution原创 2014-08-25 15:08:56 · 1314 阅读 · 0 评论 -
HDU 4978 A simple probability problem.(思维+凸包)
博客原文地址:A simple probability problem.多校第十场的一道几何,做了好久了,忘了发出来。比赛的时候由于坑爹的模板,后台100组数据错了一组,导致比赛的时候没做出来,赛后郁闷了好久。。。。。比赛之后好好整了一下凸包的模板,代码里会是Graham算法,标程用的是Andrew算法。题目大意:一个无限大的平面上,有间原创 2014-08-25 21:42:07 · 1165 阅读 · 0 评论 -
HDU 1174 爆头(三维空间点与直线关系)
HDU 1174大意:中文题,很好理解,搞清楚各种变量就行。思路:我知道的好像有两种解法,一种是求土匪的头心与子弹射出的直线求点到直线距离,在判断一下方向对不对;另一种是求出子弹射出点与土匪头心连线,求出子弹的射出的直线,求两直线的夹角, 求出子弹射出点与土匪头心连线,求出求出子弹射出点与土匪头的切线,求两直线的夹角,比较这两个夹角的大小判断是不是会打到。原创 2014-04-16 09:22:26 · 741 阅读 · 0 评论 -
HDU 1140 War on Weather (三维点之间距离)
HDU 1140大意:地球球心是(0,0,0),给你k个卫星以及k个卫星的三维坐标(以球心为基准),m个地球上的点以及m个点的三维坐标(以球心为基准),问有多少个点是能被卫星覆盖到的,输出数量。思路:求出卫星与地球切线的长度,在地球上,与卫星连线的长度小于切线长度的肯定都能看到。#define pi acos(-1.0)struc原创 2014-04-16 09:38:39 · 898 阅读 · 0 评论 -
HDU 1411 校庆神秘建筑(欧拉四面体公式)
HDU 1411大意:人一个你一个六面体的六条边,求六面体的体积。思路:没有什么思路,就是用欧拉四面体公式直接代入。欧拉四面体公式:具体的推导网上有很多。eg. http://blog.csdn.net/archibaldyangfan/article/details/8035332原创 2014-04-21 15:31:27 · 1065 阅读 · 0 评论 -
HDU 1115 Lifting the Stone(求多边形重心)
HDU 1115大意:给你个n,有n个点,然后给你n个点的坐标,求这n个点形成的多边形的重心的坐标。struct point{ double x, y;} P[1000010];struct line{ point a, b;} ;double xmult(point p1, point p2, point p){ re原创 2014-04-22 12:48:08 · 637 阅读 · 0 评论 -
POJ 2653 Pick-up sticks(计算几何 求线段交点)
POJ 2653题意:题意很简单,就是在地上按顺序撒一对木棒,看最后有多少是被压住的,输出没有被压住的木棒的序号。有点坑的就是没说清楚木棒怎么算压住,也不知道是不是规范相交。。。我就判断了一下包括端点重合跟部分相交的。思路:一开始我想的是从后往前遍历,找到每一条边,看他是不是压到之前的边了,如果压到了,就把之前的变标记一下,最后统计没被标记过的,但是TLE了原创 2014-04-10 11:16:13 · 459 阅读 · 0 评论 -
POJ 1410 Intersection(线段相交&&判断点在矩形内&&坑爹)
Intersection大意:给你一条线段,给你一个矩形,问是否相交。 相交:线段完全在矩形内部算相交;线段与矩形任意一条边不规则相交算相交。思路:知道具体的相交规则之后题其实是不难的,但是还有个坑点就是题目里明明说给的是矩形左上角跟右下角的点,但实际上不是,需要重新判断一下...真坑。struct Point{ double x, y;原创 2014-06-23 15:48:01 · 754 阅读 · 0 评论 -
POJ 1066 Treasure Hunt(线段相交&&转换)
Treasure Hunt大意:在一个矩形区域内,有n条线段,线段的端点是在矩形边上的,有一个特殊点,问从这个点到矩形边的最少经过的线段条数最少的书目,穿越只能在中点穿越。思路:需要巧妙的转换一下这个问题,因为从一个点到终点不可能“绕过”围墙,只能穿过去,所以门是否开在中点是无所谓的,只要求四周线段中点到终点的线段与墙的最少交点个数即可。更进一步,实际上,只需判断四周围原创 2014-06-23 14:25:50 · 718 阅读 · 0 评论 -
POJ 1696 Space Ant(点积的应用)
Space Ant大意:有一只蚂蚁,每次都只向当前方向的左边走,问蚂蚁走遍所有的点的顺序输出。开始的点是纵坐标最小的那个点,开始的方向是开始点的x轴正方向。思路:从开始点开始,每次找剩下的点中与当前方向所形成的夹角最小的点,为下一个要走的点(好像就是犄角排序,我不是很会),夹角就是用点积除以两个响亮的距离,求一下acos值。之前一直用叉积做,做了好久阳历都没过,原创 2014-06-23 17:13:46 · 769 阅读 · 0 评论 -
计算几何题目推荐
其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代转载 2014-06-21 16:16:28 · 628 阅读 · 0 评论 -
POJ 2318 TOYS(计算几何)(二分)
TOYS大意:给你一个箱子,有n个挡板分隔成n+1部分,给你m个玩具的坐标,问每一部#include #include #include #include #include #include #include #include #include #include #define LL long long#define max(a,b) ((a)>(b)?(原创 2014-03-07 16:58:43 · 707 阅读 · 0 评论 -
POJ 3304 Segments(计算几何:直线与线段相交)
POJ 3304 Segments大意:给你一些线段,找出一条直线能够穿过所有的线段,相交包括端点。思路:遍历所有的端点,取两个点形成直线,判断直线是否与所有线段相交,如果存在这样的直线,输出Yes,但是注意去重。struct Point{ double x, y;} P[210];struct Line{ Point a, b;} L原创 2014-06-21 17:25:36 · 740 阅读 · 0 评论 -
POJ 1269 Intersecting Lines(线段相交,水题)
Intersecting Lines大意:给你两条直线的坐标,判断两条直线是否共线、平行、相交,若相交,求出交点。思路:线段相交判断、求交点的水题,没什么好说的。struct Point{ double x, y;} ;struct Line{ Point a, b;} A, B;double xmult(Point p1, Point原创 2014-06-22 13:05:39 · 794 阅读 · 0 评论 -
POJ 1265 Area(计算几何--网格)
博客原文地址:Area题目大意:给出每个点相对于前一个点的坐标增量,增量都是整数,会得到一个在网格上多边形,求多边形内的格点、多边形上的格点以及多边形的面积。解题思路:这个题主要是Pick定理的应用(Pick定理传送门),另外还有几个其他的知识点。Pick定理:平面上以格子点为顶点的简单多边形的面积=边上的点数/2+内部的点数+1。计算多边形边上的格原创 2014-09-09 19:45:14 · 945 阅读 · 0 评论 -
半平面交总结and模板
这两天刷了POJ上几道半平面交,对半平面交有了初步的体会,感觉半平面交还是个挺实用的知识点。半平面交主要是看的ZZY的国家队论文,他提出的是一种O(n×log(n))的排序增量法。附论文地址: 算法合集之《半平面交的新算法及其实用价值》。POJ 3335 Rotating Scoreboard题目大意:World finals 要开始了,比赛场原创 2014-11-06 16:44:26 · 4705 阅读 · 2 评论