链接
http://acm.hdu.edu.cn/showproblem.php?pid=6265
题意
给定n的质因数分解情况
计算这个函数的值,d是n的约数
首先我们可以证明这个函数是积性函数
方法1
phi(n)积性函数,1/n积性函数
他们的乘积也是积性函数
由定理知道(见贾志鹏ppt)
也是积性函数,d|n
那么前面乘个系数n,这个函数也是积性函数
方法2
直接由狄利克雷卷积的知识
f(n)=n,g(n)=phi(n)
都是积性函数
这里使用的是下面的这个
将f(n),g(n)带入即可证明他为积性函数
计算这个函数
因为是积性函数(非完全),所以可以拆分成下面的式子
// csdn这个公式编辑器真垃圾
于是我们只要找到的计算方法即可,p为素数
我们容易知道p^q的约数只有p,p2,p3,...,p^n
由欧拉函数的计算公式知道
,其中pi为素因子
那么这样就好计算了
不妨设g(x)=phi(x)/x
...........
因为p1,p2,p3....pn的素因子只有p一个
所以上面所有的式子加起来=q*(p-1)/p
所以
我们得到每个单项的答案后,那么最后总的答案就是
p^q用快速幂解决
1/p用逆元算即可
上代码