计算几何
_binbin
我是“三好学生”:好吃,好玩,好睡。
展开
-
POJ 2318 TOYS
TOYSTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 7349 Accepted: 3468DescriptionCalculate the number of toys that land in each bin of a partitioned原创 2012-08-06 08:36:29 · 515 阅读 · 0 评论 -
1659. Regular Triangles(计算几何)
题意:给定一个等边三角形,求三角形里面三个点和三角形外的三个点,使其中的点组成的等边三角形不少于9个。思路:让里面的三角形中的一个点在中心,然后使外面的点与给定的点和中心点构成等边三角形,,三角形个数正好是9个。#include #include #include #include #include #include #include #include #i原创 2013-04-04 11:24:20 · 673 阅读 · 0 评论 -
URAL 1600 Airport
题意: 有n个飞机,都有自己的初始位置和行驶方向,问第一次距离小于d的时间,和这两架飞机。思路:三分+二分枚举任意两个飞机,在0-INF三分找最近的时间tmp,在0-tmp找距离为d的时间。#include #include #include #include #include #include #include #include #include #include原创 2013-04-04 09:56:31 · 628 阅读 · 0 评论 -
URAL 1489 Points on a Parallelepiped
题意:把一个平面图形转成立体图形,求其中两点的距离。脑残了,中间的A,B表示的边看错了。。没有注意边界,没有加EPS。。改的时候不仔细又wa了好多次。。思路:一个面一个面判断就行了。。#include #include #include #include #include #include #include #include #include #inclu原创 2013-03-31 17:08:28 · 622 阅读 · 0 评论 -
HDU 4445 Crazy Tank(枚举角度)
#include #include #include #include #include #include #include using namespace std;double h,l1,l2,r1,r2;const double PI = acos(-1.0);int n;double sp[209];void input(){ scanf("%lf%lf%l原创 2012-11-14 20:10:04 · 688 阅读 · 0 评论 -
POJ 2451 Uyuw's Concert(半平面交)
这题没有模版真的写不出代码来。于是可耻的找了一份代码修改一下成了模版。。#include #include #include #include #include #include #include using namespace std;#define EPS 1e-10#define inf 10000#define zero(a) fabs(a)<EPS#d原创 2012-11-02 21:08:18 · 762 阅读 · 0 评论 -
POJ 1279 Art Gallery(半平面交)
题意:求多边形核的面积;思路:求所有的核心,再求凸包,在求面积。。。没用半平面交的模版。数据水了。#include #include #include #include #include #include #include #include using namespace std;double const INF = 1e20;double const EPS原创 2012-11-01 21:44:49 · 549 阅读 · 0 评论 -
POJ 3130 How I Mathematician Wonder What You Are!
题意:同poj3335 只是顺序不同。。。#include #include #include #include #include #include #include using namespace std;const double INF = 1e20;const double EPS = 1e-8;bool zero(double t){return -EPS<t&&原创 2012-11-01 19:24:08 · 427 阅读 · 0 评论 -
POJ 3335 Rotating Scoreboard
题意:求多边形内是否存在一点,使该点能看到每一个边上的点:思路:判断多边形是否存在核,求任意两个能相交边的交点,判断该交点是否在多边形内;;;#include #include #include #include #include #include #include using namespace std;const double INF = 1e20;cons原创 2012-10-31 20:04:01 · 702 阅读 · 0 评论 -
URAL 1436. Billboard(计算几何)
题意:给定一条线段,问从x轴上看这条线段的最大角度是多少。三分枚举就ok了。。。。好纠结啊。。。应该分两段枚举。分别是线段的延长线与x轴的交点到负无穷。到正无穷。应为坐标值小于1000可以证明x轴上的看点坐标小于2000.#include #include #include #include #include #include #include #include原创 2013-04-08 17:24:32 · 1123 阅读 · 0 评论 -
codeforces 2 C. Commentator problem(模拟退火)
题意:找一个点使这个点使这个点看三个圆的角度大小一样。思路:模拟退火。初始化条件实在太难控制了。郁闷郁闷。#include #include #include #include #include #include #include #include #include #define LL long long#define DB doubleusing namesp原创 2013-04-08 20:29:36 · 1132 阅读 · 0 评论 -
HDU 1086 You can Solve a Geometry Problem too(求线段交点数)
好长时间没有写博客了,来一道水题练练手。/************************************ * Author : binwin20 * * Blog : blog.csdn.net/binwin20 * ************************************/#pragma comment(linker,原创 2013-11-07 18:46:08 · 1120 阅读 · 0 评论 -
HDU 1411 校庆神秘建筑 (求四面体体积)
直接用欧拉四面体体积公式多case啊,题目没有明确说明,害我wa了好几次。/************************************ * Author : binwin20 * * Blog : blog.csdn.net/binwin20 * ************************************/原创 2013-11-07 20:48:07 · 1506 阅读 · 0 评论 -
LightOJ 1203 - Guarding Bananas
题意:给定n个点,求从其中一个点看其他所有点的张角的最小值..求凸包就行了..可是我用的时间0.2+s,排倒数了,,难道有其他解法???还是因为我使用了map?#include #include #include #include #include #include #include #include #include #define LL long long#de原创 2013-06-03 20:22:55 · 795 阅读 · 0 评论 -
LightOJ 1418 - Trees on My Island (Pick`s theorem)
题意:给定多边形,求多边形内整数点的个数;用pick公式。以前做过的题,还是wa了好多次,彩笔伤不起。#include #include #include #include #include #include #include #include #define LL long long#define DB doubleusing namespace std;const原创 2013-06-01 18:37:09 · 779 阅读 · 0 评论 -
nyistOJ 游戏AOE技能分析(1)自杀还是他杀?beta (计算几何)
抄模版1A#include #include #include #include #include #include #include #include #define LL long long#define DB doubleusing namespace std;const DB EPS = 1e-8;const DB PI = acos(-1.0);struc原创 2013-05-29 11:14:33 · 925 阅读 · 0 评论 -
LightOJ 1378 - The Falling Circle(几何)
被这题卡了一个月。。因为没有看清题目。。圆在斜线上的速度是角速度为1.我一直以为是一样的速度。。。。。英语这么挫。过阵子怎么找工作啊。。。代码:#include #include #include #include #include #include #include #include #define LL long long#define DB doubleus原创 2013-05-28 15:16:41 · 1244 阅读 · 1 评论 -
lightoj 1383 - Underwater Snipers
#include #include #include #include #include #include #include #include #define LL long long#define DB doubleusing namespace std;const int N = 10009;const int INF = 0x3f3f3原创 2013-04-28 09:59:43 · 694 阅读 · 0 评论 -
lightOJ 1366 Pair of Touching Circles
枚举圆心的相对坐标,看他们间的距离是否为整数。若是整数则枚举1~(length-1) 的半径。看要多大的矩形能容纳这两个圆。然后在大矩形中找有几个这样的矩形。貌似两个圆形不在水平线或者竖直线上的情况很少,列出来存在数组中,减少两次循环花的时间会更少。#include #include #include #include #include #include #includ原创 2013-04-26 19:33:48 · 1187 阅读 · 0 评论 -
POJ 1265 Area(多边形内坐标点,边的的个数)
题意:求给定的多边形的内部点的个数,边上的点的个数。及面积思路:多边形内的坐标点的个数:PICK公式:S=I+E/2-1 S,面积,I多边形的内坐标点的个数,E多边形的边上坐标点的个数。线段的端点在坐标点上,其经过的坐标点的个数:GCD(dx,dy)+1;#include #include #include #include #include #include #原创 2012-10-30 22:26:53 · 735 阅读 · 0 评论 -
POJ 计算几何入门题目推荐(转)
计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代码一片混乱,那么会严重影响做题正确率。4.注意精度控制。5.能用整数的地方尽量用整数,要想到扩大数据的方法(扩大一倍,或扩大sqrt2)。因为整数不用考虑浮点误差,而且运算比浮点转载 2012-10-30 21:41:32 · 444 阅读 · 0 评论 -
POJ 2826 An Easy Problem?!(线段相交,比较角度大小)
题意:给你两根线段,问能装多少雨水。这题要比较线与水平面的角度的大小。。#include #include #include #include #include #include using namespace std;const double INF = 1e20;const double EPS = 1e-6;bool zero(double t){ retu原创 2012-09-07 13:55:19 · 492 阅读 · 0 评论 -
POJ 1696 Space Ant (点积)
题意:蚂蚁从最小的的点开始走,每一次只能往右走,走的路线不能交叉,怎样才能试经过的路线最长。走完所有的点,经过的路线最长。思路:找到最下方的点,然后枚举其他所有未访问的点。#include #include #include #include #include #include using namespace std;const double INF = 1e20;con原创 2012-09-07 10:08:56 · 449 阅读 · 0 评论 -
POJ 1410 Intersection(判断线段是否在矩形面里)
题意:给你线段和矩形,问是否相交,或矩形包含线段;注意:线段相交时, 和 不相交。。。。郁闷死了。。#include #include #include #include #include #include using namespace std;const double INF = 1e20;const double EPS = 1e-6;bool zero(doub原创 2012-09-06 20:09:02 · 740 阅读 · 0 评论 -
POJ 1066 Treasure Hunt
题意:从给定点到边框外,至少要经过多少根线,不能从交点经过。。思路:连接给定点与边框上的任意一点,求与这边相交的最小边数。因为给出的线与边框的交点都是整数点,所以只要判断每一个点的左右两边附近的两个点就行了。#include #include #include #include #include #include using namespace std;const doub原创 2012-09-06 16:07:41 · 476 阅读 · 0 评论 -
POJ 1566 The Doors(计算几何+dp)
题意:问从(0,5)点 到 (10,5)点 的最短路;思路:他一层一层地穿过门,不会返回的,所以可以用dp#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double INF = 1e20;struct cv原创 2012-09-06 10:10:00 · 595 阅读 · 0 评论 -
POJ 1269 Intersecting Lines(计算几何 求交点)
题意: 求共线,平行或交点#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double INF = 1e20;bool zero(double a){return -EPS<a&&a<EPS;}struct cve原创 2012-09-05 20:08:12 · 523 阅读 · 0 评论 -
live archive 5984 - Save the Students!
题意:给出多个三角形,圆,正方形,问他们覆盖的点的个数。点的横纵坐标都是整数思路:从-50到100.枚举每一个点。看是否被覆盖:#include #include #include #include #include #include using namespace std;const double PI = acos(-1.0);const double INF = 1原创 2012-09-04 09:23:16 · 537 阅读 · 0 评论 -
HDU1558 Segment set(计算几何+并查集)
题意:给你一些线段,问与第i根线段相交的线段有几根。。思路:计算几何+并查集#include #include #include #include #include #include using namespace std;const int N = 1009;const double INF = 1e20 , EPS = 1E-6;bool zero(double x原创 2012-08-30 09:43:15 · 823 阅读 · 0 评论 -
POJ 2653 Pick-up sticks(计算几何 求交点)
题意:依次给你n根棍子,问最上面的棍子是哪几根。直接暴力,TLE,,用一个双向链表优化 500ms#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double INF = 1e20;struct cvector{原创 2012-09-06 11:27:37 · 429 阅读 · 0 评论 -
POJ 1039 Pipe
题意:一束光线从左端射入钢管,问能到达的最远点的横坐标。#include #include #include #include #include #include using namespace std;const double INF = 1e20;const double EPS = 1e-6;struct cvector{ double x,y; c原创 2012-09-07 16:22:28 · 437 阅读 · 0 评论 -
HDU 4410 Boomerang(计算几何)(2012杭州网络赛1001)
题意: 思路:每一条边不是平行就是竖直,且最多只有8个点,所以可以枚举每一种可能的形状,4个点的只可能是矩形,6个点的只可能是矩形缺一个角,8个点的可以是6个点的其中三个90度角缺一个小脚,或者是凹形。。。。不可能是奇数个点。。。。#include #include #include #include #include #include #include原创 2012-09-24 02:28:31 · 2321 阅读 · 0 评论 -
POJ 2074 Line of Sight(求交点)
题意:给你一段路,和一个房子,都是线段。之间有一些障碍物,在某些路段上可以看到整个房子,,问最长的路段多长。。。思路:枚举每一个障碍物在路上的投影,求投影间的最大值。。#include #include #include #include #include #include #include using namespace std;const double EPS = 1e原创 2012-09-20 21:13:36 · 703 阅读 · 0 评论 -
POJ 1584 A Round Peg in a Ground Hole(点到直线距离,多边形是否为凸)
题意:顺时针或逆时针给出n个点和一个圆,判断多边形是否为凸。且圆在多边形里面。#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;bool zero(double t){return -EPS<t&&t<EPS;}struct cv原创 2012-09-20 16:25:54 · 591 阅读 · 0 评论 -
POJ 3449 Geometric Shapes (线段相交)
题意:给你多种形状的图形,问那些图形是相交的(线段相交),思路:暴力判断线段相交以前交了18遍都不过,现在重新写了一遍,不懂怎么了就过了。。郁闷啊。。#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double原创 2012-09-13 17:32:17 · 487 阅读 · 0 评论 -
POJ 1654 Area (计算多边形面积)
题意:计算多边形面积注意:要用long long,没注意 wa了一次,,#include #include #include #include #include #include #include using namespace std;#define LL long longstruct cpoint{ LL x,y;}o,a,b;LL x_mult(cpo原创 2012-10-01 09:09:45 · 752 阅读 · 0 评论 -
POJ 3348 Cows(凸包面积)
题意:求凸包面积/50,取整#include #include #include #include #include #include #include using namespace std;double EPS = 1e-12;struct cpoint{ double x,y; void get(){scanf("%lf%lf",&x,&y);}};原创 2012-09-30 22:04:15 · 691 阅读 · 0 评论 -
POJ 1873 The Fortified Forest
题意:砍掉一些树,用来围剩下的树,要使能包围的请款下,剩下树的价值最大,思路:二进制枚举所有可能的情况,用凸包找包围的最短长度。#include #include #include #include #include #include #include using namespace std;const int N = 19;const double EPS = 1e-1原创 2012-09-29 17:37:11 · 577 阅读 · 0 评论 -
POJ 1228 Grandpa's Estate(凸包)
题意:没看懂题意,在DISCUSS找到的,,判断一个凸包,且每两个凸点间的直线上有一个点。。思路:找两个凸包一个包括非顶点的边点,另一个不包含,比较一下两个凸包。。#include #include #include #include #include #include #include using namespace std;struct cpoint{原创 2012-09-29 21:54:13 · 1071 阅读 · 0 评论 -
ZOJ 3728 Collision (计算几何)
刚开始没看清题意,求的是时间。我求长度了。wa了两次。悲剧。#pragma comment(linker, "/STACK:1024000000,1024000000")#include #include #include #include #include #include #include #include #include #include #include #i原创 2013-11-24 18:54:32 · 1115 阅读 · 0 评论