计算几何
文章平均质量分 78
AndyZhang
一些当前好走的路会越走越窄,而一些当前艰难的路却会越走越宽广。
展开
-
uva 10209 Is This Integration?
题目大意:一个正方形,以每个顶点为中心划圆,这样得到一个3中不同的阴影部分,求各个部分的面积。算法分析:这个题目纠结一个小时,开始以为列3个方程就好了,其实只能列出两个方程,你列出的第三个都能通过前两个解出。先给出一幅图:从这幅图中我们可以得到下面两个方程,一个是整体的正方形的面积,一个是扇形的面积。x + 4 * y + 4 * z = a * a;x + 3 *原创 2011-10-03 02:19:17 · 2120 阅读 · 0 评论 -
poj3348
题目大意:给你n棵树,可以用这n棵树围一个圈,然后在圈里面可以养牛,每个牛需要50平方米的空间,问最多可以养多少牛?其实就是求一个凸包,计算凸包面积,然后除以50,然后就得到答案,直接上模板了。凸包这一类型的题目差不多,可以作为模板使用,时间复杂度是NlogN。 代码:#include #include #include #include #include原创 2011-09-20 23:23:13 · 1793 阅读 · 0 评论 -
uva10180
题目大意:给你两个点,代表拔河的两只队伍的位置。有这样一个柱子,以原点为圆心,r为半径。那么拔河两只队伍拉的绳子很可能绕到柱子上,给你两个队伍的位置以及圆柱的半径,求拔河用绳子的最短长度。 算法设计:如果拔河的连线和圆柱不想交,那么就是两支队伍之间的距离。如果相交,那么就是3段距离之和,中间是一段圆弧。如何计算,首先由余弦定理计算出两支队伍两线与圆心所形成的圆心角,有了这个,我原创 2011-09-25 13:56:44 · 1050 阅读 · 0 评论 -
uva10065-
题目大意:给你一个任意多边形的瓷砖,想用一个容器包起来。问一下会浪费多少空间。实际上就是给你任意一个多边形,求一个凸包,然后求凸包和这个任意多边形面积之差占凸包面积的比例。凸包就是外面的包装容器。所以说如果这个瓷砖本身就是一个凸多边形,那么肯定没有浪费空间,因为外面刚好用凸多边形包住。 这个题目wa了好几次,很悲剧,这个oj评判系统少打空行会wa而不是pe。题目明明说的是两个case之原创 2011-09-17 15:40:24 · 852 阅读 · 0 评论 -
uva10088
这道题目其实就是一个公式,pick定理,到网上查查吧,搞懂了这个定理也就知道怎么做的了,搞不懂没关系,知道怎么用也行。[Pick定理] pick定理: 设F为平面上以格子点为定点的单纯多边形,则其面积为:S=b/2+i-1。 b为多边形边上点格点的个数,i为多边形内部格点的个数原创 2011-09-18 22:30:42 · 625 阅读 · 0 评论 -
poj1265
[Pick定理] pick定理: 设F为平面上以格子点为定点的单纯多边形,则其面积为:S=b/2+i-1。 b为多边形边上点格点的个数,i为多边形内部格点的个数。 可用其计算多边形的面积,边界格点数或内部格点数。题目大意:给你m个dx,dy,注意这个不是直接给出的坐标,而是原创 2011-09-18 23:26:33 · 1197 阅读 · 0 评论 -
poj2007
题目大意:这个题目意思有点复杂,就是给你一些点,这些点里面一定有(0,0)原点,并且没有第二象限中的点,这些点是一个凸包。让你从原点开始按顺序输出凸包上的点。看看例子我们就清楚了。例如输入的点是:0 070 -5060 30-30 -5080 2050 -6090 -20-30 -40-10 -6090 10 构成的凸包是:原创 2011-09-20 23:57:23 · 767 阅读 · 0 评论 -
uva10310
题目大意: 一只老鼠和一条狗,地上有n个洞。现在给出老鼠和狗的初始位置,老鼠朝准一个洞跑去,狗以2倍的速度跑过去,看看能不能追上,如果狗先到,那么就吃掉它,如果鼠先到,那么就逃了。 求出第一个鼠能逃脱的洞的位置,如果不能逃,那么就被吃掉。 这个题目直接枚举所有洞就行了,注意是2倍的鼠的距离小于等于狗的距离。同时到达不会被吃掉,这个地方wa了一次。 代码:#inc原创 2011-09-25 09:32:18 · 610 阅读 · 0 评论 -
uva10195
不多说,给你三角形三边长,求内切圆半径,够简单吧?但是你肯定会wa的。因为边长有=0的情况。悲剧啊。。。。 代码:#include #include #include #include using namespace std;int main(){ double a, b, c; while (scanf("%lf %lf %lf", &a, &b,原创 2011-09-25 14:21:13 · 761 阅读 · 0 评论 -
uva10215
题意描述:给你一个矩形的长和宽,在矩形的四个角减去四个边长为x的小正方形,然后折成一个无盖的盒子,求盒子的最大和最小体积时的x的值。算法分析:根据题目列出方程:设体积为f(x),减去正方形边长为x,则:f(x) = x * (L - 2 * x) * (W - 2 * x);首先我们知道f(x)肯定是大于等于0的,所以最小体积的x只能是0,和长和宽最短值的一半。也就原创 2011-10-02 21:02:54 · 1025 阅读 · 0 评论 -
poj 1654 这题我想多了
看到本题目简单分析了一下只要解决两个问题就能搞定这一题。1、面积为0的情况,分两种,一种是一条直线,一种是折线走出去,在原路返回2、求出所有点坐标,求任意多边形的面积这两个问题都很容易解决。1、直线情况也就两个对角线,和水平垂直。原路返回的可以将反向的标示当做是一样的,比如2和8都当做8,如果这个字符串是回文,那么就是原路返回2、任意多边形面积,这个直接求相邻点的叉积就可以原创 2012-04-18 10:44:11 · 675 阅读 · 0 评论