
计算几何
sinsincos
这个作者很懒,什么都没留下…
展开
-
【汇总】计算几何
计算几何部分1 实数与浮点数1.1 精度问题众所周知在c++中double的精度大概是16位(十进制),因此对double类型的数据进行多次操作可能会丢失精度。例如sin(pi/4)*2和sqrt(2)都是2\sqrt{2}2,但是sin(pi/4)*2 == sqrt(2)却返回false。解决方法:将所有数字扩大n倍,使用整型存储引入eps,设eps为一个很小的正数(如1e-9),若两数差的绝对值小于eps则认为相等。const double eps = 1e-9;inline原创 2020-07-20 11:05:12 · 298 阅读 · 0 评论 -
【Gym - 102428D】Dazzling stars(计算几何)
Gym - 102428D题意平面上有许多点,每个点有权值,问是否存在一条直线,令这条直线按照某个方向移动,使其经过的点权值不下降,且能经过所有点。题解算是个结论题。每个点向权值比它小的所有点连成向量,将所有向量的起点移动到原点,如果所有向量都位于某条过原点的直线的一侧,则所求直线存在。将所有向量根据角度排序,判断是否有相邻向量夹角大于180度即可。(代码写得比较乱,没用计算几何模板)...原创 2020-01-31 22:30:49 · 492 阅读 · 0 评论