随笔分类 -  计算几何

摘要:给定两个圆,求其覆盖的面积,其实也就是求其公共面积(然后用两圆面积和减去此值即得最后结果)。我一开始是用计算几何的方法做的,结果始终不过。代码如下:/* * Author : ben */#include #include #include #include #include #include... 阅读全文
posted @ 2014-12-02 18:12 moonbay 阅读(303) 评论(0) 推荐(0)
摘要:昨天用vim练了一道大水题,今天特地找了道稍难一点的题。不过也不是很难,简单的计算几何而已。练习用vim编码,用gdb调试,结果居然1A了,没调试。。。囧。。。做法很简单,无非就是两种情况:①三个巫师构成一个钝角(极限情况是直角)三角形,那么所画的圆应该是钝角所对边为直径的圆;②三个巫师构成一个锐角三角形,那么所画的圆应该是三角形的外接圆。就这样纸,上了点模板,代码如下:/* * Author : ben */#include #include #include #include #include #include #include #include #include #include ... 阅读全文
posted @ 2013-11-06 22:05 moonbay 阅读(254) 评论(0) 推荐(0)
摘要:比较简单的计算几何,首先枚举两个在圆上的点,然后数一数多少个点在此圆上,复杂度n^3。但是要注意的是如果这样得到的结果是0,那么还是要输出1,因为至少可以捞一条鱼,这是一个易错点!/* * hdu1077/win.cpp * Created on: 2012-10-25 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#includ 阅读全文
posted @ 2012-10-25 21:48 moonbay 阅读(233) 评论(0) 推荐(0)
摘要:不知道杭电题目分类是咋分的,这题我是在“匹配”里找到的,太假了。这明显是计算几何加并查集嘛。当然,并查集部分很简单,主要就是计算几何了,打了两个小时,我了个去,计算几何功底还是不行啊。。。/* * hdu1558/win.cpp * Created on: 2012-8-16 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#inc 阅读全文
posted @ 2012-08-18 11:19 moonbay 阅读(174) 评论(0) 推荐(0)
摘要:主要就是推公式了,我推了老半天,囧啊。。。还要注意一点就是内切的情况,开始没考虑,WA了一次。/* * hdu1798/win.cpp * Created on: 2012-7-9 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#inc 阅读全文
posted @ 2012-07-10 09:38 moonbay 阅读(161) 评论(0) 推荐(0)
摘要:简单题,直接贴代码/* * hdu1541/win.cpp * Created on: 2011-11-14 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#include <map> 阅读全文
posted @ 2011-11-14 12:27 moonbay 阅读(157) 评论(0) 推荐(0)
摘要:直接上模板,不过模板还不够精练,以后再慢慢优化/* * hdu1392/win.cpp * Created on: 2011-10-22 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#inclu 阅读全文
posted @ 2011-10-22 20:56 moonbay 阅读(174) 评论(0) 推荐(0)
摘要:直接上模板/* * hdu2108/win.cpp * Created on: 2011-10-19 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#include <map>#inc 阅读全文
posted @ 2011-10-19 14:13 moonbay 阅读(170) 评论(0) 推荐(0)
摘要:#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <cmath>using namespace std;typedef struct { double x; double y;} MyPoint;MyPoint p1, p2, p3;const double PI = 3.141592653589793;inline double xmult(MyPoint &p1, MyPoint &p2, MyPoin 阅读全文
posted @ 2011-10-19 13:50 moonbay 阅读(250) 评论(0) 推荐(0)
摘要:求多边形重心的题目大致有这么几种:1,质量集中在顶点上。n个顶点坐标为(xi,yi),质量为mi,则重心 X = ∑( xi×mi ) / ∑mi Y = ∑( yi×mi ) / ∑mi 特殊地,若每个点的质量相同,则 X = ∑xi / n Y = ∑yi / n2,质量分布均匀。这个题就是这一类型,算法和上面的不同。 特殊地,质量均匀的三角形重心: X = ( x0 + x1 + x2 ) / 3 Y = ( y0 + y1 + y2 ) / 33,质量分布不均匀。只能用积分来算,不会……下面讨论这个题的解法:以第一个顶点为基准,分别连接p[i],p[i+1],1&l 阅读全文
posted @ 2011-10-10 13:02 moonbay 阅读(219) 评论(0) 推荐(0)
摘要:长方体与球相交则必然是长方体中离球最近的点在球面上或球内,而长方体离球最近点必是每一维中离球最近的坐标组成的点。/* * hdu2436/linux.cpp * Created on: 2011-8-28 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>using namespace std;typedef long long I64;void work();int mai 阅读全文
posted @ 2011-08-29 09:00 moonbay 阅读(636) 评论(0) 推荐(0)
摘要:/* * hdu3629/linux.cpp * Created on: 2011-8-25 * Author : ben */#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>using namespace std;const int MAXN = 705;const double PI = acos(-1);typedef struct { int x; int y;} MyPoint;int N;MyPoint points[MAXN];double 阅读全文
posted @ 2011-08-27 16:29 moonbay 阅读(354) 评论(0) 推荐(1)
摘要:题目意思是给N(小于1000)个点,问这些点能构成多少个边与坐标轴平行的正方形。我的做法是先把所有点排序,枚举两个点作为正方形的一边,进而算出另外的两个顶点,然后十分查找这两个点是否都存在,最坏情况下复杂度为n^2 logn。/* * hdu2428/win.c * Created on: 2011-8-23 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define MAXN 1005typedef struc 阅读全文
posted @ 2011-08-24 17:35 moonbay 阅读(201) 评论(0) 推荐(0)
摘要:就是考数学,考空间想象力,唉,数学还是不行啊,弄了两三个小时才勉强做出来……/* * hdu3668/win.c * Created on: 2011-8-24 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define PI 3.1415926535/**计算图形中那个特殊形体的体积的公式*/double formular(double r, double t) { return r * r * t - t * 阅读全文
posted @ 2011-08-24 17:26 moonbay 阅读(158) 评论(0) 推荐(0)