莫比乌斯反演·学习记录

莫比乌斯反演·学习记录

cyw在6.8左右学的莫比乌斯反演,记录一下


这个东西感觉不大好描述,我一开始也不知道这玩意能干嘛(其实现在也不知道)
CYW认为,对关于一些因数/倍数关系进行操作的行为,可以用莫比乌斯反演来解决


莫比乌斯函数

这并不是什么高大上的东西,但是很有用
对于 莫比乌斯函数 的定义是

  1. $d=1,\mu(d)=1 $
  2. \(d=\prod_{k=1}^n p_k\;(k\in prime),\mu(d)=(-1)^k\)
    即数\(d\)可以被表示为若干互异素数相乘的形式(指数不超过\(1\)),此时函数值根据分解数量而定
  3. \(Otherwise,\mu(d)=0\)

当然了 它有一些性质

  • \(\mu\)是积性函数,这是它可以通过线性筛求的必要条件
  • 对于正整数\(n\)\(\sum_{d|n}\mu(d)=[n=1]\),这是莫比乌斯反演中非常常用的一条性质
  • 对于正整数\(n\)\(\sum_{d|n}\frac{\mu(d)}{d}=\frac{\phi(n)}{n}\),不过这个我还没用过
  • \[\mu \times id\;=\;\phi\]
    \(\times\)表示卷积,这里是常见狄利克雷卷积的一种,有的时候有奇效
    在公式里书写为
    \[\sum_{d|n}\mu(\frac{n}{d})*d=\phi(n)\]

    贴一份线筛代码
inline void getmiu(int n){
    memset(vis,0,sizeof(vis));
    mu[1]=vis[1]=1;
    for (int i=2;i<=n;i++){
        if (!vis[i]){pri[++cnt]=i;mu[i]=-1;}
        for (int j=1;j<=cnt&&(LL)i*pri[j]<=n;j++){
            vis[i*pri[j]]=1;
            if (i%pri[j]==0) break;else mu[i*pri[j]]=-mu[i];
        }
    }
}

PS:一些题目中要求\(\sum\mu(d)\),可以通过预处理来降低复杂度


整除分块

一个同样在莫比乌斯反演及一些计算中十分重要的东西
\[\sum_{i=1}^n\lfloor\frac{n}{i}\rfloor\]
这个东西暴力算是\(O(N)\)的,容易发现,\(\lfloor\frac{n}{i}\rfloor\)至多只有\(\sqrt{n}\)种取值,可以对每种取值的个数进行计算,再乘上对应的i,复杂度\(O(\sqrt{n})\)

for (int l=1,r;l<=n;l=r+1){   //可能会用到(for LL l=1,r;...)
    r=n/(n/l);
    ans+=(LL)(n/l)*(r-l+1); //注意在部分大运算前加(LL)或"1ll*",避免炸int
}

好的,那么所有的前言:莫比乌斯函数,整除分块都讲完了,可以开始我们的正题
莫比乌斯反演


莫比乌斯反演

莫比乌斯反演,主要指满足这样条件的函数。

\[F(n)=\sum_{d|n}f(d)\]
则有
\[f(n)=\sum_{d|n}\mu(d)f(\frac{n}{d})\]
//我觉得\(\frac{n}{d}\)加不加\(\lfloor \rfloor\)无所谓,因为\(d|n\).

还有一种反演形式:
\[F(n)=\sum_{n|d}f(d)\]
则有
\[f(n)=\sum_{n|d}\mu(\frac{d}{n})f(d)\]
下面给出第一个的证明
\[\sum_{d|n}\mu(d)f(\frac n d)\]
\[=\sum_{d|n}\mu(d)\sum_{i|\frac n d}f(i)\]
\[=\sum_{i|n}f(i)\sum_{d|\frac n i}\mu(d)\]
\[=f(n)\]

(其实这个证明蛮鬼畜的)

然后这个反演就没了,接下来会写一些例题进行具体分析

l例题

公约数的和
数字表格

转载于:https://www.cnblogs.com/ugly-CYW-lyr-ddd/p/9180442.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值