计算几何
文章平均质量分 80
__简言
如能忘掉渴望 岁月长 衣裳薄
展开
-
分治法求最小点对(hdu1007)
先说下题意,很简单,给n个点的坐标,求距离最近的一对点之间距离的一半。第一行是一个数n表示有n个点,接下来n行是n个点的x坐标和y坐标。实数。 这个题目其实就是求最近点对的距离。《算法导论》上有详细讲解,王晓东的书上也有代码。主要思想就是分治。先把n个点按x坐标排序,然后求左边n原创 2011-07-23 12:20:02 · 12186 阅读 · 5 评论 -
POJ--3714[Raid] 分治发求最小点对
题意:给你两个集合A,B(每个集合N个点),要求输出一个最小点对(两点分别在A,B两个集合内)。其实就是分治法求最小点对的模板题,只不过在取最短距离时加上不同集合的限制即可。 感想:但是郁闷的是,居然不停地TLE。。。。囧。。。查了一遍又一遍,最终发现,我一开始在get_dis(原创 2011-07-23 12:48:44 · 1370 阅读 · 0 评论 -
POJ--1113[Wall] 凸包周长+圆的周长
题目大意:给你N个点的坐标和一个距离限制L,让你求出1.包含所有点,2.且不能小于L;的最小周长。 思路分析:其实就是凸包周长+圆的周长。。。。(直接套模版)。。。1A.。。。 感想:做几何题模版很重要。。。。(平时多收集)。。。不过最重要的是自己理解。。。。 CODE:/*计原创 2011-07-23 21:52:31 · 615 阅读 · 0 评论 -
HDU--1077[Catching Fish] 枚举圆心
题目大意:给出一些点坐标,问有一个半径为1的圆,一次最多能圈多小个点。 思路分析:(1):一开始想用随机算法(模拟退火)把它水过去得。可是。。。。“火候”一直把握不好,不是WA就是TLE。。。可能这题数据卡的紧,不能用这个方法吧。。。。(2):第二种思路就是---枚举。应该很容易原创 2011-07-23 22:58:34 · 763 阅读 · 0 评论 -
HDU--3685[Rotational Painting] 求重心+凸包
稳定的定义:多边形玻璃板的重心向水平面作垂线时,垂足落在支撑边所在的线段上(不包括线段端点)。对多边形支撑边的枚举:由于有可能出现凹多边形,因此可供选择的“支撑边”包括该多边形的凸包的所有边。 思路:先求重心,然后再求凸包,枚举凸包的每条边判断是否可以是支撑边。(注意重心到某条支原创 2011-07-28 00:53:00 · 806 阅读 · 0 评论 -
HDU--3264[Open-air shopping malls] 枚举圆心+二分半径
题意:平面上有n个圆,给定他们各自的圆心和半径。保证任意两个圆不会互相重叠。现在求一个大圆,它的圆心与某个给定圆的圆心重合,且对于每一个给定的圆,大圆至少覆盖该圆面积的一半。请求得满足要求的大圆的最小半径。算法流程枚举圆心位置Oi。二分查找,求得对于当前圆心位置,满足要求的最小半原创 2011-07-28 00:58:10 · 753 阅读 · 0 评论 -
POJ--3521[Geometric Map] 几何图上的最短路
题目大意:给你一幅图,上面有一些“街道”和“标记边”组成。问你某两点之间的最短路径。(“标记边”用来规定“街道”的方向)。 街道:表示两点之间有边相连。标记边:标记边的一端悬空,令一端和一条道路相交(相交一定在中间,不会在道路端点处)。标记规则:假设街道的向量为(a,b);标记边原创 2011-07-29 00:59:33 · 1114 阅读 · 0 评论 -
HDU--3918[Beiju] 几何模拟 二分
思路: 整体不是单调的,但是每一段都是单调的,于是它从下往上,判断到第一个上顶点不行的区间,然后对这段区间进行二分。 要注意的是这个题水是很慢很慢的加的,所以一旦倒了就不会再加了。故要从下往上枚举。 还有注意,最后的高度不用再减去最原创 2011-08-20 00:43:45 · 902 阅读 · 0 评论