[x,y]区间满足lcm==x&&gcd==y数对个数 关于此题的思路+解法+Q&A

[x,y]区间满足lcm==x&&gcd==y数对个数 关于此题的思路+解法+个人的Q&A


题目来源: NEFU oj-1411 LCM&GCD
详细链接已补。
jwtql

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姐姐;
希望还有奇妙的问题,能让我有机会继续更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值