北门的智慧——计算几何
文章平均质量分 81
数学学习生涯达到第一瓶颈
leader_win
一份温情,一份感动
展开
-
hdu 4793(嗷嗷水的计算几何)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4793;大意:在原点有一个平台,原点还有一个圆形木块,视为挡板,有一个圆形滑块在光滑坐标轴上摩擦,有初始位置和坐标轴方向分速度,求,在圆形平台上走多远。分析:本题所求是圆形滑块轨迹中两次与圆形平台外切之间的时间,利用圆形坐标轨迹(x+vx*t,y+vy*t)进行计算相切是的时刻,如果碰上挡板原创 2016-09-22 19:50:30 · 1063 阅读 · 0 评论 -
2016 Multi-University Training Contest 1 1011(HDU 5733 计算几何)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5733;题目大意:给出四个三维的点,若这四个点能组成一个四面体,就求其内切球球心和半径,不能就输出O O O O;分析:本题这主要在于先判断是否四点共面,不是的话就一定能组成四面体,然后套用四面体内心公式和四面体内切圆半径公式就可以求出.代码如下:#include #include原创 2016-07-20 14:03:18 · 1317 阅读 · 0 评论 -
多圆相交模板
#include #include #include #include #include #include using namespace std;const double PI = acos(-1.0);const double EPS = 1e-8;double Deg2Rad(double deg){return (deg * PI / 180.0);}double转载 2016-06-13 19:56:37 · 610 阅读 · 0 评论 -
acdreamer 1221&&sgu204 (三分)
题目链接:传送门题意:给出b1,t1,b2,t2,l,ds,df,和重力加速的g,左边黑点表示起点,右边黑点表示终点,你可以从起点以任意角度、任意速度投出一个小球,从t1,b1中穿过去,落在l上,然后再重新在落点以任意角度、任意速度投出这个球然后从t2,b2中间穿过去于终点落地,然后求两次投掷速度中的最大值的最小值是多少,也就是MIN(MAX(v1,v2))。分析:首先我们会发现以在l中间原创 2016-05-29 17:10:12 · 2873 阅读 · 0 评论 -
hdu 3400(三分)
题目链接:点击打开链接;题意:本题给出两条线段,一条线段端点为a,b;另一条线段端点是c,d,在两条线段和不在线段上有不同的速度,求最短时间。分析:本题一共有三段时间,在a-b上,在c-d上,在空白的地方。设着三段时间是x,y,z。则一旦x和y确定之后,z就能确定,因为这样在两线段上的点就确定了,z也就求出来了,如果x确定时y不确定的话,z和y有关系,所以时间是有一个极值,想到极值,就应该原创 2016-05-27 21:00:31 · 3162 阅读 · 0 评论 -
hdu 4667(凸包)
题意:给出n个圆和m个三角形,把所有的图形围起来的最小长度。分析:本题正解是求一堆切线,但是本题数据水,所以,把圆分成1000个点求凸包就好了,但是求长度的时候,在圆上的点要求圆弧长度。代码如下:#include #include #include #include #include #include #include #include #include #inc原创 2016-05-18 16:24:57 · 598 阅读 · 0 评论 -
hdu 5251(2015百度之星初赛+旋转卡壳)
题目链接:点击打开链接;题意:小度熊有一个桌面,小度熊剪了很多矩形放在桌面上,小度熊想知道能把这些矩形包围起来的面积最小的矩形的面积是多少。分析: 把矩形的四个个点列出来,然后求解出凸包,接下来就是求解凸包的最小矩形覆盖,很明显是旋转卡壳做法,关于旋转卡壳详见:旋转卡壳:点击打开链接 (转载出处 http://www.cnblogs.com/Booble/)本题代码如下原创 2016-05-18 18:48:21 · 750 阅读 · 0 评论 -
uva 10652(凸包)
题意:给出一些矩形和这些矩形的旋转角度,用一个最小凸多边形,覆盖所有矩形,然后求解矩形在整个凸多边形中所占的比例。分析:很显然求解凸包,但又一些问题,第一就是旋转角度,本题给是角度制,但c++中提供的三角函数却是弧度值,所以要转换成弧度制,转换方式为 d=2*pi*(j/360);此外,要用到旋转之后的点的坐标,这之间有个公式:假设对图片上任意点(x,y),绕一个坐标点(rx0,ry0原创 2016-05-18 19:50:50 · 516 阅读 · 0 评论 -
hdu 1007(最小点对)
题目链接:点击打开链接分析:本题就是求解给出的点的最小点对。代码如下:#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace st原创 2016-05-25 15:02:55 · 460 阅读 · 0 评论 -
ACdream 1414(计算几何)
题目链接:点击打开链接分析:本题求解两个线段,用一个圆与其相交,与每条线段有且只有一个交点,求解圆的坐标和半径。只需找到四个端点之间的距离最小的时候,求解这两点中点就是圆心,半径为其距离一半多一些;代码:#include #include #include #include #include #include #include #include #include #i原创 2016-05-25 15:36:20 · 464 阅读 · 0 评论 -
hdu 5120(容斥+圆相交部分面积)
题目链接:点击打开链接分析:求元环相交部分面积,容斥一画图就出来了;代码如下:#include#include#include#include#include#includeconst double esp=1e-10;using namespace std;struct Circle{ double x,y; double r;};double原创 2016-05-25 19:53:13 · 612 阅读 · 0 评论 -
hdu 1700(圆最大内接三角形)
题目链接:hdu 1700题意:给出以原点为圆心的圆上一个点,求以此点在从圆上找两个点求解三角形面积最大时,那两个点的坐标分析:本题所用的三角形其实就是圆内接正三角形;证明如下:三角形的面积由底边和高两个因素决定,不管底边所在弦有多少,但其高只有经过圆心的为最大,故毫无质疑必须是等腰三角形。设等腰三角形ABC,高AH,圆心O,AO=BO=R,OH=AH-AO,设高为x,原创 2016-05-26 18:56:58 · 1850 阅读 · 0 评论