计算几何
文章平均质量分 78
muximuxi525
有些事情暂时可以放下但是绝不能放弃
展开
-
HDU 3809 Decrypt coordinate(坐标解密)
题目大意:x1 = x – sqrt(y)y1 = y – sqrt(x)题目给出多个x1,y1.求出x,y。如果有多种可能的话,就输出x较小的那一对x,y。思路:一开始我还以为是纯几何。囧。。后来只好偷看答案了,迭代!神了,因为有2个方程,2个未知数,但是因为不是齐次方程,所以解起来麻烦。怎么迭代呢?因为 x= x1+ sqrt(y) y = y1 +原创 2012-08-23 21:01:24 · 840 阅读 · 0 评论 -
HDU 1086 You can Solve a Geometry Problem too
题目大意:给出n条线段,判断有几个交点,因为任意两条的都是只有一个,就是说排除了共线的情况。思路:首先进行快速排斥实验,就是其中有一条线段的x的最小值要小于另一条线段的最大值,而另一条线段的最小值要小于此线段的最大值,y值同理可得,说的形象点就是两个线段组成的矩形要相交。然后进行跨立实验,就是叉乘是否异号。对两条线段都要进行叉乘 下面来自:常州市第一中学 林厚从的资料原创 2012-09-03 21:10:50 · 956 阅读 · 0 评论 -
判断点在多边形内还是外
判断点在多边形内部还是外部是一个基础但很重要的算法。下面介绍两种方法:一:射线法:从点P向左作水平射线,如果P在多边形内部,那么这条射线与多边形的交点必为奇数; 如果P在多边形外部,则交点个数必为偶数(0 included)。顺序考虑多边形的每条边,便可求出交点总个数,O(n)。对于边PQ转载 2012-09-05 20:49:26 · 1208 阅读 · 0 评论 -
POJ 1269 Intersecting Lines
题目大意:求直线相交交点、或者判断共线,比线段相交简单些,(前者可利用方程,后者要先判断是否相交,然后用面积法求得交点)思路:克莱姆法则 题目大意:给出四个点确定两条直线。如果是一条线输出“LINE”,如果平行输出“NONE”, 如果有交点输出交点坐标。思路:注意是直线,不是线段啊。用两点式推出两条直线方程 : (y1 - y2)x + (x2 - x1)y = x2y1 -转载 2012-09-03 22:17:02 · 737 阅读 · 0 评论 -
POJ2187 Beauty Contest(旋转卡壳)
题目大意:凸包最远点对思路:模板套,初写很粗糙。好几个相同函数拼凑成的,写的很丑陋。。program:#include#include #include#include #include using namespace std; struct point { int x,y; }p[50005],res[50005];原创 2012-09-21 12:27:48 · 558 阅读 · 0 评论 -
POJ1408 Fishnet
题目大意:就是求划分的四边形的最大面积,博哥叫我码这道水题玩玩,照码了~~1A呵呵~思路:枚举,克莱姆求交点水过~~~用二维数组结构体保存整个正方形内的点~~搞输入保存的时候有点恶心~~ AC program:#include#include#include#include#include#includeusing namespace std;double a[3原创 2012-10-15 14:28:04 · 856 阅读 · 0 评论