莫比乌斯反演入门

Preface

莫比乌斯反演,数论中最令人头疼的一部分。可以把一些十分困难的问题变得依然很困难简单。

很早之前就想好好学一下反演,但苦于连\(\mu\)的意义都搞不懂。直到有一天我偶然看到了一句话:

那些各种各样的性质与定理,大多是前人几年甚至几十年才得出来的,哪里是你几天就能理解并证明的。

(PS:每当你阅读本文并感到无法理解时,请再次阅读一遍上面的话。)

因此我就开始一脸懵逼地强行学习起反演了,一段时间之后发现也没有那么难理解。

学习的过程大多参照peng-ym‘s blog


关于莫比乌斯函数

莫比乌斯函数的定义

我们先考虑一个简单的东西,容斥公式(这个相信大家自己YY一下就知道了)

所以从现在开始我们把\(\mu\)当做一个类似于容斥系数一样的东西,我们先给出\(\mu\)的定义:

  • 当\(d=1\)时,\(\mu(d)=1\)
  • 当\(d=\prod_{i=1}^t p_i\)(即\(d\)的唯一分解式)且\(p_i\)为互异素数时,\(\mu(d)=(-1)^k\),即此时\(d\)没有平方质因子
  • 其它时候\(\mu(d)=0\)

PS:尽管你不知道它问什么要这么定义也没关系,当你明白狄利克雷卷积以及相关更高级的数论姿势后就会慢慢明白\(\mu\)为什么要这么定义了。

莫比乌斯函数的性质

  1. \(\sum_{d|n} \mu(d)=[n=1](n\in N^+)\)。(用\(\mu\)是容斥系数的性质即可证明,反正我不会)
  2. \(\sum_{d|n} \frac{\mu(d)}{d}=\frac{\phi(n)}{n}\)(把莫比乌斯函数和欧拉函数很好的联系在一起,我会在杜教筛及其前置技能狄利克雷卷积中给出证明)

莫比乌斯函数的求法

因为莫比乌斯函数是典型的积性函数,因此和欧拉函数一样都可以用欧拉筛筛出来。

主要是利用它的第二条定义来取反符号。这里给出一段代码:

#define Pi prime[j]
inline void Euler(void)
{
    vis[1]=miu[1]=1; for (RI i=2;i<=P;++i)
    {
        if (!vis[i]) prime[++cnt]=i,miu[i]=-1;
        for (RI j=1;j<=cnt&&i*Pi<=P;++j)
        {
            vis[i*Pi]=1; if (i%Pi) miu[i*Pi]=-miu[i]; else break;
        }
    }
}
#undef Pi

莫比乌斯反演

莫比乌斯反演定理

不多BB,我们来看一下这个NB的定理:

令\(F(n)\)和\(f(n)\)都是定义在非负整数域上的两个函数,并且它们之间满足:

\[F(n)=\sum_{d|n}f(d)\]

那么我们有一个结论:

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

这个就是传说中的莫比乌斯反演定理,它还有另外一种形式(更加常用):

\[F(n)=\sum_{n|d}f(d)\]

可以推出:

\[f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d)\]

和上面的那个道理类似吧

简单证明莫比乌斯反演定理

个人感觉这种方式不是很直观啊,更好的方法还是在杜教筛及其前置技能狄利克雷卷积中给出的那一种证明

\[\sum_{d|n}\mu(d)F(\lfloor \frac{n}{d}\rfloor)=\sum_{d|n}\mu(d)\sum_{i|\lfloor \frac{n}{d}\rfloor} f(i)\]

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

因为\(\sum_{d|n} \mu(d)=[n=1](n\in N^+)\),因此当且仅当\(i=n\)时\(\sum_{d|\lfloor \frac{n}{i}\rfloor}\mu(d)=1\)

莫比乌斯反演的意义(作用)

讲了这么多,那么反演的意义何在?

其实从上面的定理就可以看出,它是两个函数互相转换时的一大利器。

所以在某些情况下当\(f(d)\)不好处理而\(F(n)\)比较好求时可以考虑求出\(F(n)\)的值再反演给\(f(d)\)

不过具体的情况还是要视题目而定了说白了就是还是要多做题


一些简单的反演题


Postscript

反演很难这是肯定的。但是通过上面的几道题目我们发现多以套路为主。

所以根据个人经验来说多刷题才是掌握反演的必要过程。

原文地址:https://www.cnblogs.com/cjjsb/p/9876840.html

时间: 2024-10-08 07:51:21

莫比乌斯反演入门的相关文章

BZOJ 2301 莫比乌斯反演入门

2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数n,接下来n行每行五个整数,分别表示a.b.c.d.k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 2 2 5 1 5 1 1 5 1 5 2 Sample Output 14 3此题作为我的莫比

[知识点]莫比乌斯反演入门

因为今天有较为充足的时间,于是果断入坑反演OvO 直接上公式和概念: 定理:和是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论 在上面的公式中有一个函数,称其为莫比乌斯函数 它的定义如下: (1)若,那么 (2)若,均为互异素数,那么 (3)其它情况下 对于函数,它有如下的常见性质: (1)对任意正整数有 (2)对任意正整数有 (3)为积性函数 数论上积性函数的定义:     积性函数的性质: ①  ②积性函数的前缀和也是积性函数 由此可以线性求出莫比乌斯函数: mu[1]=1;

莫比乌斯反演入门解析

以下教程前半部分来自B站电子科技大学的视频 https://www.bilibili.com/video/av43470417?from=search&seid=9275043167445755699.菜鸡如我就还没看懂. 分割线后半部分教程来自 https://www.luogu.org/blog/An-Amazing-Blog/mu-bi-wu-si-fan-yan-ji-ge-ji-miao-di-dong-xi . 教程一 问题引入 给定整数 N 和 M .求满足 \(1 \leq x

hdu 1695 莫比乌斯反演

hdu 1695 莫比乌斯反演 题意: 给出a,b,c,d,k, 求满足a <= x <= b && c <= y <= d && gcd(x,y)=k 的数对(x,y)的对数. 限制: a=c=1; 0 < b,c <= 1e5; (n1,n2) 和 (n2,n1) 算为同种情况 思路: 其实是求满足1 <= x <= b/k && 1 <= y <= d/k && gcd(x,y

hdu1569 莫比乌斯反演

hdu 1695 莫比乌斯反演 给出a,b,c,d,k, 求满足a <= x <= b && c <= y <= d && gcd(x,y)=k 的数对(x,y)的对数. a=c=1; 0 < b,c <= 1e5; (n1,n2) 和 (n2,n1) 算为同种情况 其实是求满足1 <= x <= b/k && 1 <= y <= d/k && gcd(x,y)=1 的 数对(x,y

莫比乌斯反演题目列表

前言: 本题表中,凡是涉及\(n.m\),都默认\(n \leq m\). Part1 这些题目都非常水,莫比乌斯反演入门题, 主要是对莫比乌斯反演应用有一个基本概念. 1.[HAOI2011]Problem b (具体题目戳我) 题目:一组数据(\(a.d.c.d \leq 5×10^4\))求 \[\sum_{i=a}^{b} \sum_{j=c}^d [gcd(i,j)=d]\] 题解: \[\sum_{i=1}^{n} \sum_{j=1}^m [gcd(i,j)=d] = \sum_{

bzoj 2820 luogu 2257 yy的gcd (莫比乌斯反演)

题目大意:求$gcd(i,j)==k,i\in[1,n],j\in[1,m] ,k\in prime,n,m<=10^{7}$的有序数对个数,不超过10^{4}次询问 莫比乌斯反演入门题 为方便表述,由于n和m等价,以下内容均默认n<=m 题目让我们求:$\sum_{k=1}^{n}\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)==k]$ 容易变形为:$\sum_{k=1}^{n}\sum_{i=1}^{\left \lfloor \frac{n}{k} \righ

莫比乌斯反演(入门)

细细算来,看反演已经有一两个星期了 刚开始的时候也是走了不少的弯路 和其他的算法一样,只要你懂了,就会有一种不过如此的感觉(误 感觉反演还是刚入门,不过还是先写一篇不完全的总结吧,不然过段时间就要忘记了 虽说看反演看了好久才懂,但是现在回头看看,其实很多时间还是花费在弯路上,真正的输出时间不过是最近的一两天 建议的前置技能: 容斥的简单应用 唯一分解定理 欧拉函数的定义 积性函数的定义 然后就可以看反演啦 反演推荐的资料还是贾志鹏线性筛 不要在电脑上直接过一遍就算看过了,这个资料上面有一些不加证

数论入门——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛

一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数\(\mu(n)\)为: 当n有平方因子时,\(\mu(n)=0\). 当n没有平方因子时,\(\mu(n)=(-1)^{\omega(n)}\),\(\omega(n)\)表示n不同质因子的个数. 性质1: \(\sum_{d|n}\mu(d)=[n=1]\) 证明:我们把n分解质因数,则原式\(=(-1+1)^{\omega(n)}=0\). 因为对于不同的质因子,只有选和不选两种方案,这是一个组合数相加的形式,偶数加奇数减,根据二项式