小数精度的一些问题

对于小数精度要求比较高的题,常常需要用技巧替换掉一些运算

比如:定义 eps = 1e-8

那么 x == 0 就要变成 abs(x) < eps

 x > y 就要变成 x-y > eps

方便起见,可以定义一个 enlarge 函数

int enl(double x){
  return x>eps?1:x<-eps?-1:0; }

这样的话,x==y 就写成 enl(x-y)==0;

     x > y 就写成 enl(x-y) ==1

原理应该比较清楚吧。。

 

上一篇:UVa 10382 Watering Grass (贪心 区间覆盖)


下一篇:【书】财报像一本故事书