算法竞赛备忘录

有些坑要记一下,应该不会忘,但是随便写写


ceil(a/b) with int

如果a,b均为int/long long,那么直接使用ceil(a/b)不行,因为a/b作为中间过程是int,会被trunc。

但是使用ceil((double)a / (double)b)还是不行,因为浮点数精度不行,总有你意想不到的奇怪意外。

Read more

GCD and LCM

Rewind my little memories of number thoery..


GCD和辗转相除法(Euclidean Algorithm)

1
2
3
int gcd(int a,int b){
return b?gcd(b,a%b):a;
}

Idea: old divisor $\div$ old remainder, until we have new remainder=0.

Read more