ACM学习笔记

数论

1.1 例题100814A Arcade Game可以用到康托展开,康托展开也就是用来求一个数在这个数的全排列中是第几大的数。

ACM学习笔记_第1张图片

1.2 GCD:求最大公约数

long long GCD(long long a, long long b)
{
	if(a == 0)	return b;
	if(b == 0)	return a;
	if(a % 2 == 0 && b % 2 == 0)	return 2 * GCD(a>>1, b>>1);
	else if(a % 2 == 0)	return GCD(a >> 1, b >> 1);
	else if(b % 2 == 0)	return GCD(a, b>>1);
	else	return GCD(abs(a - b), min(a, b));
}

1.3不可约多项式

在实数域上,次数大于2的多项式一定是可约的,只有次数为1或者2(b^2-4ac < 0)才不可约。

你可能感兴趣的:(ACM-ICPC)