神盐皇
Posted znsbc-13
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神盐皇相关的知识,希望对你有一定的参考价值。
终于会了
先放一个极好的博客
求满足$a+b|a*b,&a<=n,b<=n$数对数量,$n<=10^{15}$
设$d=gcd(a,b)$
那么$a_1=frac{a}{d},,b_1=frac{b}{d}$
原要求变为$(a_1+b_1)*d|a_1*b_1*d*d$即$(a_1+b_1)|a_1*b_1*d$
考虑辗转相减法转化$gcd(a_1,b_1)==1$->$gcd(a_1+b_1,b_1)==1$->$gcd(a_1+b_1,a_1)==1$
$a_1+b_1$与$b_1$无公因数,与$a_1$无公因数$gcd(a_1+b_1,a_1*b_1)==1$
原式变为求$(a_1+b_1)|d$个数
$i=a_1+b_1$设$d=k*i$
$d*i<=n$故$k$共$large lfloor frac {n}{i*i} floor$个
考虑$i$的取值情况,
现在要求$gcd(x-i,i)==1$数个数
仍然考虑辗转相减$gcd(x,i)==1$个数,确定,$x<=i$,那么就是$varphi(i)$
$sumlimits_{i=1}^{sqrt n}varphi(i)lfloorfrac{n}{i^2} floor$
然后关于$varphi(i)$求法
我又忘了$varphi(i)$线筛怎么求了,重新理解了一遍
首先计算式$varphi(N)=Nprod_{i}^{i|N且i为质数}(1-frac{1}{i})$
$varphi$是积性函数
互质的$a,b$满足$varphi(a*b)=varphi(a)*varphi(b)$
首先$p$为质数若$p|N$且$p^2 mid N$ 那么说明互质$varphi(N)=varphi(frac{N}{p})varphi(p)$
$varphi(p)=p-1$
那么$varphi(N)=varphi(frac{N}{p})*(p-1)$($p$为质数若$p|N$且$p^2 mid N$)
那么若$p|N$且$p^2|N$ 那么说明有相同质因子不互质
说明$N$与$frac{N}{p}$拥有的质因子完全相同,根据计算式$varphi(N)=Nprod_{i}^{i|N且i为质数}(1-frac{1}{i})$后面部分完全一样差的只是前面的$N$
于是$varphi(N)=varphi(frac{N}{p})*p$($p|N$且$p^2|N$)
总结
打表不会出奇迹
关于gcd相关应用
以上是关于神盐皇的主要内容,如果未能解决你的问题,请参考以下文章