题目大意:没看。反正就是求最小圆覆盖。
思路:一个神奇的算法——随机增量法。可以证明,这个算法可以在O(n)的时间复杂度内求出最小圆覆盖。虽然好像能卡掉的样子,但是加上一句random_shuffle就卡不掉了。
具体的过程是这样的:
在全局记录一个圆,表示目前的最小圆覆盖。从头开始扫描。遇到第一个不在当前最小圆覆盖内的点的时候:
将这个点与当前最小圆覆盖的圆心为直径做一个圆,作为...
分类:
其他好文 时间:
2015-02-26 11:48:11
阅读次数:
135
将二维求圆心的方式推广到n维,然后用高斯消元解。具体来说就是,设圆上的两点A(a1,a2,...,an), B(b1,b2,...,bn)和圆心C(c1,c2,...,cn),则∑(ai-ci)2 = ∑(bi-ci)2∑2*(ai-bi)*ci=∑(ai2-bi2)总共有n+1个点,有C(n+1,...
分类:
其他好文 时间:
2015-02-19 17:29:06
阅读次数:
169
题目地址:点这里
思路:计算几何入门题,首先,两个圆弧是同一个圆的,所以这个圆是矩形的外接圆,那么矩形中心就是圆心,由长宽算出角度和半径(这时用单位长度表示),再算出一个单位长度的实际长度,从而得出长和宽
AC代码:
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2015-02-11 09:25:11
阅读次数:
242
大家都知道如果使用点云或者使用类似attribTransform这样的节点来采样或者传值的时候,都是以点为圆心一定半径均匀的采样,近几天为了做一些比较特殊的牵引效果所以好好琢磨了一下非均匀的线性采样方法,这个词有点太绕,我先上两张对比图看一看:权重改变前 权重改变后要求是在上面...
分类:
其他好文 时间:
2015-02-10 23:05:51
阅读次数:
299
题意大体是,给出圆心位置和半径,再给出n个其他点的坐标,判断半圆内最多有几个点,落在半圆边缘的点也计算在内,判断半圆不等式写错WA两次思想是:1、判断是否在圆内2、从某一点(在圆内)开始,以这一点和圆心确定的直线为半圆的“底”,计算在此直线“之下”(y1*x-x1*y<..
分类:
其他好文 时间:
2015-02-10 17:05:01
阅读次数:
207
题解
需要考虑几种情况:
外切或外离。面积为0,注意要输出 0.000。
内切或内含或重合。面积为较小圆的面积。
相交,还需要讨论交点位置:
交点在两圆心中间 即异侧
交点在两圆心同侧
在求三角形面积的时候有两种方法:
运用三角形两边的叉积的绝对值的1/2计算。
运用海伦公式计算。
不过我试了所有方法仍然有一个点WA了,已经用while(1)实验出问题是出在交点在两圆心同侧的情况了。可能是精度问题...
分类:
其他好文 时间:
2015-02-08 00:31:14
阅读次数:
173
题意:给出多边形的顶点坐标、圆的圆心坐标和半径,求面积交sol:又是模板题啦= =注意poj的C++好像认不出hypot函数,要稍微改写一下。hypot(double x,double y):即返回sqrt(x*x+y*y)的值 1 #include 2 #include 3 #include...
分类:
其他好文 时间:
2015-02-07 18:48:49
阅读次数:
434
题意:在m*n的网格盘上,每个格子大小都是t*t,
现将一个直径为c的硬币扔在向网格盘上,
求硬币覆盖1,2,3,4个格的概率分别为多少
注:圆心只可能落在在网格盘上
分析:问题可转化为求覆盖1,2,3,4个格硬币圆心活动的面积
分别推出公式即可求解
注意输出格式、、、...
分类:
其他好文 时间:
2015-01-28 18:03:05
阅读次数:
153
题目链接:点击打开链接
又是一发 G++ WA , C++ AC.
简单题:给出基站的三围坐标及半径 。若球面距离小于 0 距离为 0 ,否则为 圆心距离减去2个半径
#include
#include
#include
#include
#include
#define INF 10000000
using namespace std;
double map[110]...
分类:
其他好文 时间:
2015-01-27 16:33:31
阅读次数:
120
解题思路:一开始自己想的是找出每一次旋转所得到的圆心轨迹,将想要旋转到的点代入该圆心轨迹的方程,如果相等,则跳出循环,如果不相等,则接着进行下一次旋转。后来看了题解,发现,它的旋转可以是任意角度的,所以旋转后的圆心应该在一个区域,而没有固定的圆心轨迹的方程。如图所示,设c0为最初给出的圆,令圆c0绕...
分类:
其他好文 时间:
2015-01-27 12:45:35
阅读次数:
230