前言

咕咕了好久终于来学习莫反了

要不是不让在机房谁会发现数学一本通上有这么神奇的东西

就是没有性质的证明

然后花了两节数学课证明了一遍

舒服~

前置知识:欧拉函数,二项式定理(组合数)

会欧拉函数的可以直接看\(Mobius\)了

欧拉函数

含义

\(\phi (n)\) 表示比\(n\)小的数中与\(n\)互质的数的个数

引理1

  • \(n\)为质数,\(\phi(n) = n - 1\)
  • \(n=a*b\) 且 \((a, b) = 1\),则\(\phi(n) = \phi(a) * \phi(b)\)
  • 对于一个质数\(n\)的\(a\)次方 \(\phi(n^a) = (n - 1) * p^{n-1}\)

    现对于第三条性质给出证明
  • 比\(n^a\)小的数有\(n^a - 1\)个
  • 其中能整除的表示为\(n* t (t = 1, 2, ... n ^{a-1}-1)\)
  • 总计有\(n^{a-1}-1\)个数能被整除
  • 则与其互质的数的个数为\(\phi(p^a) = (n^a-1) - (p^{a-1}+1) = p^a - p^{a-1} = (p-1) * p^{a-1}\)

引理2

对于质数\(n\),唯一分解定理 \(n = {p_1}^{c_1} * {p_2} ^{c_2}...{p_k}^{c_k}\)

$ \phi(n) = n * (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k})\(**
**若\)a\(与\)m\(互质,\)a^{\phi(m)} \equiv 1 (mod ; m)$

线性筛

根据上述性质,推出

  • 若\(p\)为质数,\(\phi (p) = p - 1\)
  • \(if(i \% p == 0) \:\ \phi(i*p)=p*\phi(i)\)
  • \(if(i \% p \; != 0) \:\ \phi(i*p)=\phi(i)*(p -1)\)

code

inline void pre(int n){
phi[1] = 1;
for(int i = 2; i <= n; i++){
if(!vis[i]){
prime[++cnt] = i;
phi[i] = i - 1;
}
for(int j = 1; j <= cnt && i * prime[j] <= n; j++){
vis[i * prime[j]] = 1;
if(i % prime[j] == 0){
phi[i * prime[j]] = phi[i] * prime[j];
break;
}
else phi[i * prime[j]] = phi[i] * (prime[j] - 1);
}
}
}

莫比乌斯反演(Mobius)

定义

对于非负整数集合上的两个函数\(F(n)\)和\(f(n)\),若满足条件\(F(n)=\sum_{d|n}f(d)\)则

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

\(\mu\)函数

定义如下

  • 若\(d=1\)则\(\mu(d)=1\)
  • 若\(d=p_1p_2p_3...p_k\)均为互异质数,则\(\mu(d)=(-1)^k\)
  • 其他情况\(\mu(d)=0\)

性质一

\[ \sum_{d|n}\mu(d) =
\begin{cases}
1, & \text n=1 \\
0, & \text n>1
\end{cases}
\]

证明:

若\(n\)为质数,显然\(sum=0\)

若\(n\)为合数,根据唯一分解定理

\[n = {p_1}^{c_1} * {p_2} ^{c_2}...{p_k}^{c_k}
\]

\(n\)的因子\(d\)只能是\(p_1p_2,p_1p_3,p_3p_k\)诸如此类

可以发现\(d\)的构造来自于\(k\)个质因子中选取了\(i\)个

  • \(k\)为奇数即\(n\)中包含奇数个质因子

    从\(k\)中选出奇数个因子,\(\mu\)值为-1,对答案贡献为\(-\sum_{i=1}^kC_k^i(i+=2)\)

    从\(k\)中选出偶数个因子,\(\mu\)值为1,对答案共享为\(\sum_{i=2}^{k-1}C_k^i(i+=2)\)

    两种情况加和化简得\(-C_k^k=-1\)

    \(sum = -1 + \mu(1)=-1+1=0\)

    得证
  • k为偶数即\(n\)中包含偶数个质因子

    同理可得\(sum=0\)

性质二

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

证明:

同上将\(n\)质因数分解,同时将等号右侧

\[\frac {\phi(n)} n = (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k})
\]
\[= \frac {(p_1-1)(p_2-1)...(p_k-1)} {p_1p_2...p_k}
\]

同样的,对\(k\)的奇偶性分类讨论

  • \(k\)为奇数

    • 从分子中选取奇数个质因子组成类似于\(p_1p_2p_3\)

      由于剩下了奇数-奇数=偶数个括号,那么在多项式展开式中该项的常数项(不包含其他质因子)系数一定为\(1\)

      与分母约分得到\(\frac {1}{\text {偶数个质因子的积}}\)

      根据\(\mu\)函数的性质可以知道,该化简式等于\(\frac {\mu(\text 分母)} {\text 分母}\)
    • 同理,从中选取偶数个质因子得到的化简结果为

      \(\frac {1}{\text {奇数个质因子的积}}\)

      该化简式也等于\(\frac {\mu(\text 分母)} {\text 分母}\)
    • 当然,分子展开式当中必包含一项\(p_1p_2...p_k=\text 分母\)

      约分结果显然为\(1=\mu(1)/1\)

综上所述$$\frac {\phi(n)}{n}= (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k})$$

\[=\frac {(p_1-1)(p_2-1)...(p_k-1)} {p_1p_2...p_k}
\]
\[=1+\frac {\mu(d)} {d}(d\neq 1,d|n)
\]
\[=\frac {\mu(1)}{1} +\frac {\mu(d)} {d}(d\neq 1,d|n)
\]
\[= \sum_{d|n} \frac {\mu(d)}{d}
\]

原命题得证

  • \(k\)为偶数

    同理即可证明
\[\frac {\phi(n)}{n}= (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k})= \sum_{d|n} \frac {\mu(d)}{d}
\]

原命题得证

反演证明

目标性质$$f(n)=\sum_{d|n}\mu(d)F(\frac n d)$$

证明:

由\(F(n)\)与\(f(n)\)的关系\(F(n)=\sum_{d|n}f(d)\)将等式推导:

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

可见只有满足\((d*d')|n\)时,函数对答案有贡献

那么不妨交换\(d\)和\(d'\)的位置(理解成范围也行)

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

再观察式子,根据\(\mu(d)\)非\(1\)即\(0\)的性质,来考虑\(d'\)为何值时对答案有贡献

可见当且仅当\(d'=n\)且\(d=\frac {n}{d'}=1\)时,\(\mu(d)=1\)该式不为\(0\)

否则式子值为\(0\)对答案无贡献

\[=1*\sum_{n|n}f(n)
\]
\[=f(n)
\]

综上所述

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

原命题得证!

小结

关于\(Mobius\)的性质纸上推导了两天,建议多手模

思维量不小~

欧拉函数线性求解以及莫比乌斯反演(Mobius)的更多相关文章

  1. HDU 1695 GCD 欧拉函数+容斥定理 || 莫比乌斯反演

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

  2. 【bzoj2401】陶陶的难题I “高精度”+欧拉函数+线性筛

    题目描述 求 输入 第一行包含一个正整数T,表示有T组测试数据.接下来T<=10^5行,每行给出一个正整数N,N<=10^6. 输出 包含T行,依次给出对应的答案. 样例输入 7 1 10 ...

  3. Bzoj 2818: Gcd 莫比乌斯,分块,欧拉函数,线性筛

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 3241  Solved: 1437[Submit][Status][Discuss ...

  4. 欧拉函数(小于或等于n的数中与n互质的数的数目)&& 欧拉函数线性筛法

    [欧拉函数] 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler’s totient function.φ函数.欧拉商数等. 例如φ( ...

  5. hdu 6390 欧拉函数+容斥(莫比乌斯函数) GuGuFishtion

    http://acm.hdu.edu.cn/showproblem.php?pid=6390 题意:求一个式子 题解:看题解,写代码 第一行就看不出来,后面的sigma公式也不会化简.mobius也不 ...

  6. 【bzoj2190】【仪仗队】欧拉函数+线性筛(浅尝ACM-J)

    向大(hei)佬(e)势力学(di)习(tou) Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪 ...

  7. 欧拉筛 线性筛 素数+莫比乌斯的mu[]

    https://blog.csdn.net/qq_39763472/article/details/82428602 模板来自https://blog.csdn.net/Avalon_cc/artic ...

  8. BZOJ4804 欧拉心算(莫比乌斯反演+欧拉函数+线性筛)

    一通套路后得Σφ(d)μ(D/d)⌊n/D⌋2.显然整除分块,问题在于怎么快速计算φ和μ的狄利克雷卷积.积性函数的卷积还是积性函数,那么线性筛即可.因为μ(pc)=0 (c>=2),所以f(pc ...

  9. 【BZOJ2401】陶陶的难题I 欧拉函数+线性筛

    [BZOJ2401]陶陶的难题I 题意:求,n<=1000000,T<=100000 题解:直接做是n*sqrt(n)的,显然会TLE,不过这题a和b都是循环到n,那么就可以进行如下的神奇 ...

随机推荐

  1. JavaSE基础--part1

    Java特性和优势 简单.面向对象.可移植性.高性能.分布式.动态性.多线程.安全性.健壮性 Java的三大版本 JavaSE 标准版(应用于桌面程序,控制台开发) JavaME 嵌入式开发(手机,小 ...

  2. Linux两台服务器mysql数据库同步

    我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价值千金啊),所以我们还是乖乖做同步把! 1.准备两台Linux服务器(主.从) 2. ...

  3. File类 -《学堂在线》

    File类的作用 ·创建.删除文件: ·重命名文件:判断文件的读写权限及是否存在: ·设置和查询文件的最近修改时间等: ·构造文件流可以使用File类的对象作为参数. //: FileTester.j ...

  4. el-table表头v-for循环遇到的问题

    这两天在项目中遇到了el-table表头需要动态变化,也就是点击不同的标签显示对应的表格,主要表头都不一样,那么表格也就是动态的,表头也需要循环 一开始以为很简单 <el-table       ...

  5. Event loop详解(包含Node端)

    Event loop事件循环,是一个执行模型.不同的浏览器以及Nodejs里的具体实现是不一样的. 一,浏览器端: HTML5规范里有明确定义,简单的说: 1,JS是单线程的,执行的时候在一条主栈上: ...

  6. 如何用python制作贪吃蛇以及AI版贪吃蛇

    用python制作普通贪吃蛇 哈喽,大家不知道是上午好还是中午好还是下午好还是晚上好! 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很 ...

  7. python中os.path下模块总结

    import os path =os.path.abspath("abc.text") # 返回绝对路径 print("path:",path) # path: ...

  8. 3D坐标系

    在3D渲染中,首先要确定的就是坐标系,坐标系根据实际情况,分为两种: 左手坐标系 右手坐标系 在3D空间中,这两个坐标系是没有办法重合到一起的: Unity使用的坐标系为左手坐标系. 在确定左手坐标系 ...

  9. hdu6075 2019CCPC网络选拔赛1004 path

    题意:给定一个带权有向图,有q组询问,每次询问在有向图的所有路径中,第k小的路径权值 解题思路:因为k最大只有5e4,考虑暴力搜索出前maxk小的路径并用数组记录权值,然后就可以O(1)查询. 具体实 ...

  10. OpenResty 作者章亦春访谈实录

    [软件简介] OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过众多 ...