9. 莫比乌斯函数与莫比乌斯反演

9.1 莫比乌斯函数

9.1.1 定义

设 \(\mu\) 为莫比乌斯函数,则有:

\[\mu(x)=\begin{cases}1\qquad (n=1)\\ 0\qquad (∃\ i\ (ki=x,k\in Z\rightarrow \sqrt{i}\in Z))\\ (-1)^{\sum_{i\in prime}[i\mid x]}\end{cases}
\]

直观地说,只要 \(x\) 的某个质因子出现的次数超过一次,则有 \(\mu(x)=0\),否则,\(mu(x)\) 即为 \((-1)^{t}\),其中 \(t\) 为 \(x\) 的质因数总数.

9.1.2 性质

\(No.9121\) \(\forall (i,j)=1\rightarrow\mu(i\times j)=\mu(i)\times \mu(j)\)

\[P.9121
\]

若 \(\mu(A)=1\),则有 \(\mu(A)\times \mu(B)=1\times \mu(B)=\mu(1\times B)\),结果成立

若 \(\mu(A)=0\),则有 \(\mu(A)\times\mu(B)=0\),结果成立

否则设 \(A=\prod_{i\in prime}i,B=\prod_{j\in prime}j\ (\forall i\neq j)\),则有 \(\mu(A)\times\mu(B)=\mu(A\times B)\)

\(No.9122\)

\[\sum_{d\mid n}\mu(d)=\begin{cases}1\qquad (n=1)\\0\qquad(n\neq 1)\end{cases}
\]
\[P.9122
\]

\(n=0\) 时,原式等于 \(0\)

\(n=1\) 时,原式等于 \(\mu(1)=1\)

否则,设 \(n\) 的唯一分解式为 \(n=\prod_{1\le i\le k}p_{i}^{a_{i}}\),由 \(\mu(n)\neq 0\) 知 \(\forall a_{i}=1\)

显然,\(\forall d\mid n\),有 \(i\) 个质因子的数 \(d\) 有 \(C^{i}_{k}\) 种组合情况,每种组合的值为 \((-1)^{i}\),即:

\[\sum_{d\mid n}\mu(d)=\sum_{0\le i\le k}\{C^{i}_{k}\times (-1)^{i}\}
\]

使用二项式定理转化:

\[\sum_{d\mid n}\mu(d)=(1+(-1))^{k}=0^{k}
\]

发现此时在定义域 \((k\neq 0)\) 内恒为 \(0\),易知当 \(n\gt 1\) 时,\(k_{n}\ge 1\),因此 \(\mu(n)=0\),证毕.

9.2 莫比乌斯反演

9.2.1 不完全结论

\[f(a,b,k)=\begin{cases}1\qquad((a,b)=k)\\0\end{cases}
\]

对于

\[g(n,m,k)=\sum^{n}_{i=1}\sum^{m}_{j=1}f(i,j,k)
\]

考虑到

\[g(n,m,k)=\sum^{\lfloor{\frac{n}{k}}\rfloor}_{i=1}\sum^{\lfloor{\frac{m}{k}}\rfloor}_{j-1}f(i,j,1)
\]

根据 \(No.9122\) 得出推导式:

\[\sum_{d\mid (a,b)}\mu(d)=\begin{cases}1\qquad ((a,b)=1)\\0\qquad((a,b)\neq 1)\end{cases}
\]

代入有:

\[f(i,j,1)=\sum_{d\mid (i,j)}\mu(d)
\]

即:

\[g(n,m,k)=\sum^{\lfloor{\frac{n}{k}}\rfloor}_{i=1}\sum^{\lfloor{\frac{m}{k}}\rfloor}_{j-1}=\sum_{d\mid (i,j)}\mu(d)
\]

将原式等价转换,可以得到

\[g(n,m,k)=\sum_{d=1}\mu(d)\sum^{\lfloor{\frac{n}{k}}\rfloor}_{i=1}\sum^{\lfloor{\frac{m}{k}}\rfloor}_{j-1}h(i,j)
\]

其中

\[h(i,j)=\begin{cases}1\qquad(d\mid i,d\mid j)\\0\end{cases}
\]

(可以发现,在这里仅仅是将判断条件与枚举条件互相变换了,而答案是不变的)

在区间 \([1,\lfloor{\frac{n}{k}}\rfloor]\) 中,满足条件 \(d\mid i\) 的 \(i\) 有 \(\lfloor{\frac{n}{kd}}\rfloor\) 个,因此原式可化为

\[g(n,m,k)=\sum_{d=1}\mu(d)\times\lfloor{\frac{n}{kd}}\rfloor\times\lfloor{\frac{m}{kd}}\rfloor
\]

可以证明,当 \(d\gt \min(\lfloor{\frac{n}{k}}\rfloor,\lfloor{\frac{m}{k}}\rfloor)\) 时不存在解.

9.2.2 完全结论

设两个函数 \(f,g\) 满足如下等式:

\[g(n)=\sum_{d\mid n}f(d)
\]

则有:

\[f(n)=\sum_{d\mid n}\mu(d)g(\lfloor{\frac{n}{d}}\rfloor)
\]

特别地:对于莫比乌斯反演还有如下等式:

设两个函数 \(f,g\) 满足如下等式:

\[g(n)=\sum_{n\mid d}f(d)
\]

则有:

\[f(n)=\sum_{n\mid d}\mu(\frac{d}{n})g(d)
\]

[OI] 莫比乌斯函数与莫比乌斯反演的更多相关文章

  1. 莫比乌斯函数筛法 & 莫比乌斯反演

    模板: int p[MAXN],pcnt=0,mu[MAXN]; bool notp[MAXN]; void shai(int n){ mu[1]=1; for(int i=2;i<=n;++i ...

  2. bzoj 2440 完全平方数 【莫比乌斯函数】

    题目 题意:第Ki 个不是完全平方数的正整数倍的数. 对于一个数t,t以内的数里的非完全平方数倍数的个数:num=1的倍数的数量−一个质数平方数(9,25,49...)的倍数的数量+两个质数的积平方数 ...

  3. 51nod 1244 莫比乌斯函数之和 【杜教筛】

    51nod 1244 莫比乌斯函数之和 莫比乌斯函数,由德国数学家和天文学家莫比乌斯提出.梅滕斯(Mertens)首先使用μ(n)(miu(n))作为莫比乌斯函数的记号.具体定义如下: 如果一个数包含 ...

  4. BZOJ 1101 莫比乌斯函数+分块

    思路: 题目中的gcd(x,y)=d (x<=a,y<=b)可以转化成 求:gcd(x,y)=1 (1<=x<=a/d 1<=y<=b/d) 设 G(x,y)表示x ...

  5. 莫比乌斯函数&莫比乌斯反演

    莫比乌斯函数:http://wenku.baidu.com/view/fbec9c63ba1aa8114431d9ac.html Orz  PoPoQQQ

  6. hdu 1965 (莫比乌斯函数 莫比乌斯反演)

    GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  7. 【bzoj4804】欧拉心算 莫比乌斯反演+莫比乌斯函数性质+线性筛

    Description 给出一个数字N 求\(\sum_{i=1}^{n}\sum_{j=1}^{n}\varphi(gcd(i,j))\) Input 第一行为一个正整数T,表示数据组数. 接下来T ...

  8. 【bzoj3601】一个人的数论 莫比乌斯反演+莫比乌斯函数性质+高斯消元

    Description Sol 这题好难啊QAQ 反正不看题解我对自然数幂求和那里是一点思路都没有qwq 先推出一个可做一点的式子: \(f(n)=\sum_{k=1}^{n}[(n,k)=1]k^d ...

  9. 莫比乌斯函数 && HDU-1695

    莫比乌斯函数定义: $$\mu(d)=\begin{cases}1 &\text{d = 1}\\(-1)^r &\text{$d=p_1p_2...p_r,其中p_i为不同的素数$} ...

  10. BZOJ 2440 莫比乌斯函数+容斥+二分

    2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 5473  Solved: 2679[Submit][Sta ...

随机推荐

  1. SpringBoot+ Sharding Sphere 轻松实现数据库字段加解密

    一.介绍 在实际的软件系统开发过程中,由于业务的需求,在代码层面实现数据的脱敏还是远远不够的,往往还需要在数据库层面针对某些关键性的敏感信息,例如:身份证号.银行卡号.手机号.工资等信息进行加密存储, ...

  2. Excel快速下拉填充序列至10000行

    问题:想要下拉输入的数据递增得到1.2.3--10000,但是手动下拉太累 解决: 1.如在A1单元格输入1,在A2单元格输入2 2.选中A2单元格,在上方名称框中填写A2:A1000,回车,此时将选 ...

  3. 使用nvm管理node

    安装包在阿里云盘 安装时,记录安装位置 安装后,在安装目录的setting添加镜像地址 node_mirror:npm.taobao.org/mirrors/node/ npm_mirror:npm. ...

  4. layui下拉框的数据如何直接从数据库提取(动态赋值)

    代码说明部分 第一步:先把layui官方给的模板粘到自己的前端注:下面的代码是我直接从layui官网粘过来的 <div class="layui-form-item"> ...

  5. 如何自动实现本地AD中禁用的用户从地址列表中隐藏掉?

    我的博客园:https://www.cnblogs.com/CQman/ 如何自动实现本地AD中禁用的用户从地址列表中隐藏掉? 需求信息: 用户本地AD用户通过ADConnect同步到O365,用户想 ...

  6. Python和RPA网页自动化-异常处理Try方法

    我们在跑自动化时为了捕获和处理异常,会增加异常处理Try方法.下面来看看Python和RPA网页自动化中异常处理Try的用法 1.Python中异常处理try的用法 try: test = " ...

  7. argparse学习笔记

    argparse是 Python 的一个内置模块,用于编写用户友好的命令行接口.使用 argparse,你可以很容易地为 Python 脚本添加参数解析功能,使得脚本可以接受命令行选项和参数.学起来也 ...

  8. [USACO09JAN] Safe Travel G 题解

    UPDATE on 2024.5.10 删去左偏树代码中令人误解的 fa 数组. 前话 题目链接:洛谷. 貌似别人都是使用并查集维护的方法,然而由于排序.最短路等算法瓶颈,以下令 \(n\) 和 \( ...

  9. vite创建的react项目如何兼容低版本安卓,低版本安卓不支持es6语法

    Vite 是一个现代化的前端构建工具,默认情况下,它会生成基于 ES6+ 的代码.这对于大多数现代浏览器来说是没有问题的,但对于一些较旧版本的安卓浏览器可能会遇到兼容性问题. 为了使 Vite 创建的 ...

  10. Maven经验分享(六)Jboss热部署

    jboss7的部署方式比较多的,如果使用maven构建和管理项目,那当然是使用jboss-as-maven-plugin插件来部署项目是最方便的了. pom.xml配置如下: <plugin&g ...