zoukankan      html  css  js  c++  java
  • 数论函数补充 公式推导

    (egin{array}{l} 考虑问题sumlimits ^{n}_{i=1}sumlimits ^{m}_{j=1} [gcd(i,j)=p] ( n,mleqslant 1e7)\ \ Leftrightarrow sumlimits _{p}sum olimits ^{lfloor frac{min( m,n)}{p} floor }_{d=1} mu ( d) lfloor frac{n}{pd} floor lfloor frac{m}{pd} floor \ \ \ Leftrightarrow sum ^{min( n,m)}_{i=1} lfloor frac{n}{i} floor lfloor frac{m}{i} floor sumlimits _{p|i} mu left(frac{i}{p} ight)\ \ \ 以上是推到的关键步骤,\ \ 以下是细节推导。\ \ \ ( 1) ightarrow ( 2) :firstly 对每个p分别计算其对答案贡献:\ \ ( 1) Leftrightarrow sumlimits _{p}sumlimits ^{lfloor frac{n}{p} floor }_{i=1}sumlimits ^{lfloor frac{m}{p} floor }_{j=1} [gcd(i,j)=1] \ \ \ secondly 为了得到( 2) ,较简单的方法是使用mobius inv的引理\ \ mu *I=e \ \ ( *是迪利克雷卷积 I( n) =1 , e( n) =[ n=1] )\ \ 即sum _{d|n} mu ( d) =[ n=1]\ \ \ ( ( 6) 的证明:将n分解,n=p_{1}^{a_{1}} p_{2}^{a_{2}} ...p_{k}^{a_{k}} ,\ 所有mu 不为0,且有i个质因子的数的贡献可以表示为C( k,i) imes ( -1)^{i} ,\ 而forall n >1:sum ^{k}_{i=1} C( k,i) imes ( -1)^{i} =0 )\ \ herefore sum _{d|gcd( i,j)} mu ( d) =[ gcd( i,j) =1]\ \ herefore ( 4) Leftrightarrow sumlimits _{p}sumlimits ^{lfloor frac{n}{p} floor }_{i=1}sumlimits ^{lfloor frac{m}{p} floor }_{j=1}sum _{d|gcd( i,j)} mu ( d)\ \ Thirdly 我们比较( 2) 和( 7) 发现sumlimits ^{lfloor frac{n}{p} floor }_{i=1}sumlimits ^{lfloor frac{m}{p} floor }_{j=1}sum _{d|gcd( i,j)} 变成了sum olimits ^{lfloor frac{min( m,n)}{p} floor }_{d=1} lfloor frac{n}{pd} floor lfloor frac{m}{pd} floor \ \ 可以这么理解,我们枚举d,计算mu ( d) 的个数,\ \ left( d的取值范围是1sim lfloor frac{min( m,n)}{p} floor ight)\ \ ecause d|gcd( i,j) herefore i,j是d的倍数时才对结果有贡献,\ \ herefore mu ( d) 有lfloor frac{n}{pd} floor lfloor frac{m}{pd} floor 个。\ \ \ \ herefore sumlimits ^{n}_{i=1}sumlimits ^{m}_{j=1} [gcd(i,j)=p]Leftrightarrow sumlimits _{p}sumlimits ^{lfloor frac{n}{p} floor }_{i=1}sumlimits ^{lfloor frac{m}{p} floor }_{j=1}sum _{d|gcd( i,j)} mu ( d) Leftrightarrow sumlimits _{p}sum olimits ^{lfloor frac{min( m,n)}{p} floor }_{d=1} mu ( g) lfloor frac{n}{pd} floor lfloor frac{m}{pd} floor \ \ \ 从( 1) ightarrow ( 2) 的推导也可以直接使用莫比乌斯反演。\ \ 首先证明莫比乌斯反演:f=g * I Rightarrow g=mu * f\ \ 使用迪利克雷卷积的交换律和结合律以及( 5)\ \ f=g * I Longrightarrow mu * f=g * ( mu * I) =g * e =g \ \ 得证。同理g=mu * fLongrightarrow f=g * I \ \ ( 8) Leftrightarrow F( n) =sum _{d|n} f( d) Longrightarrow f( n) =sum _{d|n} mu ( d) Fleft(frac{n}{d} ight)\ \ ( 10) Leftrightarrow F( n) =sum _{n|d} f( d) Longrightarrow f( n) =sum _{n|d} mu left(frac{d}{n} ight) F( d)\ \ 利用11,我们设f( d) 为sumlimits ^{x}_{i=1}sumlimits ^{y}_{j=1} [gcd(i,j)=d] left( x,y ightarrow n,m以防混淆 ight)\ \ 则F( n) 为sum _{n|d} f( d) =sum _{n|gcd(i,j)}sumlimits ^{x}_{i=1}sumlimits ^{y}_{j=1} [gcd(i,j)=k imes n]\ \ 即某一范围内n|gcd( i,j) 的对数\ \ 直接求得其为F( n) =lfloor frac{x}{n} floor lfloor frac{y}{n} floor \ \ f( n) 通过反演可以求得\ \ f( n) =sum _{n|d} mu left(frac{d}{n} ight) lfloor frac{x}{d} floor lfloor frac{y}{d} floor \ \ 带入( 1) 有sumlimits ^{p< min( n,m)}_{p} f( p) Leftrightarrow sumlimits _{p}sum _{p|d} mu left(frac{d}{p} ight) F( d)\ \ 这里设k imes p = d< min( n,m) ,( 12) 等价于对于每个p计算 mu ( k) F( kp) ,\ \ 然后把k再命名为d,有\ \ sumlimits _{p}sum ^{lfloor frac{min( m,n)}{p} floor }_{d=1} mu ( d) F( pd)\ \ Leftrightarrow sumlimits _{p}sum olimits ^{lfloor frac{min( m,n)}{p} floor }_{d=1} mu ( d) lfloor frac{n}{pd} floor lfloor frac{m}{pd} floor 方法1得证\ \ \ ( 2) Longrightarrow ( 3) \ \ 枚举pd,记为i,sumlimits _{p}sum ^{min( n,m)}_{i=1} lfloor frac{n}{i} floor lfloor frac{m}{i} floor mu left(frac{i}{p} ight)\ \ Leftrightarrow sum ^{min( n,m)}_{i=1} lfloor frac{n}{i} floor lfloor frac{m}{i} floor sumlimits _{p|i} mu left(frac{i}{p} ight)\ \ \ \ \ \ \ end{array})

    成功的路并不拥挤,因为大部分人都在颓(笑)
  • 相关阅读:
    Java岗 面试考点精讲(基础篇02期)
    面试必会之HashMap源码分析
    Java岗 面试考点精讲(基础篇01期)
    面试被怼?刷个题吧
    Centos7和win7双系统调整默认启动
    SSL证书在线工具
    read,for,case,while,if简单例子
    从微软下载安装Windows10
    grep,sed,cut,awk,join个性特点
    iMac一体机安装苹果和Win7双系统
  • 原文地址:https://www.cnblogs.com/SuuT/p/10669849.html
Copyright © 2011-2022 走看看