如题。昨天更正杭电多校联测第二场T4 Keychain,(从来没有学习过计算几何的)本人暴力模拟了“找出其中一个圆在两平面相交直线上的两个切点,并判断该两点和另一个圆的相对位置”的做法。
一开始为了避免掉精度,使用了 long double,但在本地与 std 对拍数万组数据未出现问题的情况下仍不通过。今天发现 std 采用 double,遂索性更换类型再尝试提交,发觉通过了。
据我了解,long double 的有效数字位有约 110 位,double 仅有 52 位。精度不是越高越好吗?为什么会出现这样的情况?
代码在这里。std 在这里。