和式的下标转换
==
式子里面有个数论符号 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]平方
}
}
莫比乌斯反演:
已知 则
要证明莫比乌斯反演需要用到两条重要的性质:
- ②
有了这两个性质,就可以证明莫比乌斯反演了,证明如右:
例题: