题目描述
样例
input:
1 2 1 2 8 4
output:
2048
input:
1 2 3 4 120 180
output:
235140177
题目大意
给定 a , b , c , d , x , y a,b,c,d,x,y a,b,c,d,x,y,求:
∏ i = a b ∏ j = c d gcd ( x i , y j ) \mathop{\prod}\limits_{i=a}^{b}\mathop{\prod}\limits_{j=c}^{d}\gcd(x^i,y^j) i=a∏bj=c∏dgcd(xi,yj)
分析
首先我们考虑对于 gcd ( x , y ) \gcd(x,y) gcd(x,y)的值是多少。嗯,是它们质因数分解之后的公共部分。那么对于一个数的幂次之后,其质因子的变化是乘上了这个指数。所以,看到数据范围是不可能暴力的,要从这一方面入手。
那么数据范围是允许 O ( n log n ) O(n\log n) O(nlogn)的,所以可以分解质因数,然后对于每个质因数都单独考虑,由于对别的质因数都没有干扰,所以可以放心地去搞这个。
假设我们分解:
x = p 1 a 1 ∗ p 2 a 2 … p n a n x=p_1^{a_1}*p_2^{a_2}\dots p_n^{a_n} x=p1a1∗p