和式的下标转换与莫比乌斯函数

和式的下标转换

==

式子里面有个数论符号 x|d 表示d是x的倍数,

专业术语叫x整除d ,比如x=2,n=7就是f(2)+f(4)+f(6)

变化一下,枚举x的倍数i,因为d=x*i的.变成右边式子

 

再来一个多重和式,这里对于i*j而言,i,j枚举范围互不影响,两个变量独立,所以化简为:

 

莫比乌斯反演

莫比乌斯函数的定义p1,p2,p3,...,pk为互不相等素数

线性筛法:

mu[1] = 1;
    for (int i = 2; i < maxn; ++i) {
        if(!vis[i]){pri[tot++]=i;mu[i]=-1;}		//遇未访问即质数,莫比值-1
        for(int j=0;j<tot&&i*pri[j]<maxn;++j){	//对每个数扫一次前面质数
            vis[i * pri[j]] = 1;				//当前质数的i倍就标记忆访问
            if(i%pri[j])mu[i*pri[j]]=-mu[i];		//pri[j]不可整除i则i*pri[j]比i多一种素因子
            else {mu[i*pri[j]]=0;break;}		//pri[j]整除i则i*pri[j]含pri[j]平方
        }
    }

 

莫比乌斯反演:

已知           则

要证明莫比乌斯反演需要用到两条重要的性质:

有了这两个性质,就可以证明莫比乌斯反演了,证明如右:

例题:

 

 

猜你喜欢

转载自blog.csdn.net/cj1064789374/article/details/85390334