题目描述
设d(x)d(x)为xx的约数个数,给定 、MM,求
输入输出格式
输入格式:
输入文件包含多组测试数据。第一行,一个整数T,表示测试数据的组数。接下来的T行,每行两个整数N、M。
输出格式:
T行,每行一个整数,表示你所求的答案。
输入输出样例
输入样例#1:
2
7 4
5 6
输出样例#1:
110
121
说明
1<=N, M<=50000
1<=T<=50000
题目分析
数论题对我这种智障来说就是要命的。这题我想了一会还是没有想出来。
某Cla口中的水题对蒟蒻我来说都是难题,所谓的好题就是我根本不会做的题。。。
本题必须用到的结论:
d(ij)=∑x|i∑y|j[(x,y)=1]d(ij)=∑x|i∑y|j[(x,y)=1]
证明很简单:
将一个数唯一分解为pk11pk22pk33...pknnp1k1p2k2p3k3...pnkn,则其约数个数为(k1+1)(k2+1)(k3+1)...(kn+1)(k1+1)(k2+1)(k3+1)...(kn+1)。因为对于任意i≠ji≠j,(pi,pj)=1(pi,pj)=1。
然后考虑一个质数pp对 的贡献。假设ii的质因数分解中有 个pp, 的质因数分解中有qq个

该博客详细介绍了洛谷P3327题目,涉及数论问题和莫比乌斯反演。博主解释了如何计算两个数的乘积的约数个数之和,并提供了数论中的关键结论和证明思路。文章通过分析题目,阐述了如何利用莫比乌斯反演简化计算,还提及了一种利用约数个数前缀和的方法。最后,博主给出了代码实现。

332

被折叠的 条评论
为什么被折叠?



