题目来源: NEFU oj-1411 LCM&GCD
详细链接已补。
Hint
(2,12) (4,6) (6,4) (12,2)
OP
特别感谢ph姐姐的深夜指导;
本题主要解法均来自ph姐姐。
大体想法
假设此数对为(a,b),则可以设 a=px,b=qx,(p,q互质),则y满足 y=pqx,即判断 y/x 有多少对互质的因数对,此时这个问题就很明朗了。
解法& Q&A
若y不能被x整除,则无符合条件的数对。
若能被x整除,则对y/x使用唯一分解定理,判断其质因数个数。
令k=y/x;
假设k=p1^m1*p2^m2*…*pn^mn;
则k的互质因数对个数为2n;
{
对于每一个k的质因数p,欲组成不同的互质因数对,均有 乘 与 不乘 两种状态,该因数对则为
(p乘1^m乘1*p乘2^m乘2*… , p不乘1^m不乘1*p不乘2^m不乘2*…)
}
*唯一分解时注意阈值,避免TLE。
*由Hint得知,此题数对内部有序。
Q1:为什么对于质数p,只有 乘 与 不乘 两种状态,不应该有0,1,…,m 共m+1种状态吗?
A1:为保证互质因数对,若某数对为(p1^(m1-1)*p2^(m2-1) , p1^1*p2^1),则该数对必有公因数 p1p2。(m1-1与m2-1均大于0)
例:
假设k=22*33;
(2*2*3 , 3)不互质,有公因数3.
(4,9)互质
(1,36)互质
/*待更新*/
ED
被contest暴打。。。
再次感谢ph姐姐;
希望还有奇妙的问题,能让我有机会继续更新。