狄利克雷卷积&莫比乌斯反演
昨天刚说完不搞数论了,刚看到一个\(gcd\)的题目dalao用这个做了,虽然比正解麻烦,还是打算学一学了
数论函数:
数论函数的定义:
数论函数亦称算术函数,一类重要的函数,指定义在正整数集上的实值或复值函数,更一般地,也可把数论函数看做是某一整数集上定义的函数
常见积性函数
\(\mu(n)\)
\(~~~~~~~~n=1:\mu(n)=1\),\(n=\prod\limits_{i=1}^k p_i:\mu(n)=(-1)^k\),\(d\)有任何质因子幂次大于等于\(2:\mu(n)=0\)
\(d(n)\)
\(~~~~~~~~n\)的约数个数
\(\sigma(n)\)
\(~~~~~~~~n\)的约数和函数
\(\varphi(n)\)
\(~~~~~~~~\)小于等于\(n\)且与其互质的个数
完全积性函数
\(\epsilon(n)\)
\(~~~~~~~~\epsilon(n)=[n=1]\)
\(I(n)\)
\(~~~~~~~~I(n)=1\)恒等函数
\(id(n)\)
\(~~~~~~~~id(n)=n\)
卷积:
设\(f(x),g(x)\)是两个数论函数(以自然数集为定义域的复数值函数),则卷积运算\(f*g\)定义为:
\((f\ast g)(n) = \sum_{d\mid n}{f(d)g(\frac{n}{d})}\)
当然还有另一种更直观的写法:
\((f\ast g)(n) = \sum_{ij=n}{f(i)g(j)}\)
函数的一些简单性质:
交换律:
\((f * g)(n) = (g * f)(n)\)
证明:这不显然的嘛
结合律:
\(\begin{align} ((f\ast g)\ast h)(n) &= (f\ast (g\ast h))(n) \end{align}\)
\(\begin{align} ((f\ast g)\ast h)(n) &= \sum_{lk=n}(f\ast g)(l)h(k) \\ &= \sum_{lk=n}\left(\sum_{ij=l}f(i)g(j)\right)h(k)\\ &= \sum_{ijk=n} f(i)g(j)h(k) \end{align}\)
\(\begin{align} (f\ast (g\ast h))(n) &= \sum_{il=n}f(i)(g\ast h)(l) \\ &= \sum_{il=n}f(i)\left(\sum_{jk=l}g(j)h(k)\right)\\ &= \sum_{ijk=n} f(i)g(j)h(k) \end{align}\)
莫比乌斯函数性质一
\(\sum_{d|n}\mu(d)=[n=1]\)
证明:
将\(n\)分解: \(n=P_1^{a_1}\times P_2^{a_2} ...... P_k^{a_k}\)
不需要考虑\(a_k>1\)的情况,因为定义当\((a_k>1)\)时,\(\mu(a_k)=0\)
只需要化成幂为\(1\),\(m=P_1\times P_2\times P_3\times P_4...\times P_k\)
这样的话问题就变成了从k个因数中取奇数个和偶数个的种数的差的值是否为-1 可以很快的列出
莫比乌斯函数性质二
\(\dfrac{\varphi(x)}{n}=\sum\limits_{d|n} \dfrac{\mu(d)}{d}\)
先来推倒一个简单的式子\((\mu*I)=\epsilon\)
\((\mu*I)(n)=\sum\limits_{d|n}\mu(d)I(\dfrac{n}{d})\)
\(~~~~~~~~~~~~~~~=\sum\limits_{d|n}\mu(d)\)
\(~~~~~~~~~~~~~~~=[n=1]\)
\(~~~~~~~~~~~~~~~=\epsilon\)
同理,下面的式子也是这个道理
证明:
\(\because \varphi*I=id \Rightarrow \varphi*I*\mu=id*\mu \Rightarrow \varphi * \epsilon=id*\mu\)
\(\therefore \varphi=id*\mu \Rightarrow \varphi(n)=\sum\limits_{d|n}\mu(d)id(\dfrac{n}{d})\)
证毕:\(\therefore \dfrac{\varphi(x)}{n}=\sum\limits_{d|n} \dfrac{\mu(d)}{d}\)
莫比乌斯反演
满足函数
\(~~~~~~~~~~F(n)=\sum_{d|n}f(d)\)
那么存在
\(~~~~~~~~~~f(n)=\sum_{d|n}\mu(d)F(\lfloor\frac{n}{d}\rfloor)\)
证法:
\(\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)\) 利用性质一,当\(i=n\)时,后项才为\(1\)
\(~~~~~~~~~~~~~~~~~~~~~~~~~~~=f(n)\)
反过来莫比乌斯反演还有另一种形式
满足函数
\(~~~~~~~~~~F(n)=\sum_{n|d}f(d)\)
那么存在
\(~~~~~~~~~~f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d)\)
狄利克雷卷积&莫比乌斯反演的更多相关文章
- 狄利克雷卷积&莫比乌斯反演总结
狄利克雷卷积&莫比乌斯反演总结 Prepare 1.\([P]\)表示当\(P\)为真时\([P]\)为\(1\),否则为\(0\). 2.\(a|b\)指\(b\)被\(a\)整除. 3.一 ...
- 狄利克雷卷积&莫比乌斯反演证明
狄利克雷卷积简介 卷积这名字听起来挺学究的,今天学了之后发现其实挺朴实hhh. 卷积: "(n)"表示到n的一个范围. 设\(f,g\)是两个数论函数(也就是说,以自然数集为定义域 ...
- 狄利克雷卷积 & 莫比乌斯反演
积性函数与完全积性函数 积性函数 若一个数论函数\(f\)满足当\(gcd(n,m)=1\)时,\(f(nm)=f(n)f(m)\) 则称\(f\)为积性函数 一些常见的积性函数 完全积性函数 若一个 ...
- 中国剩余定理 & 欧拉函数 & 莫比乌斯反演 & 狄利克雷卷积 & 杜教筛
ssplaysecond的博客(请使用VPN访问): 中国剩余定理: https://ssplaysecond.blogspot.jp/2017/04/blog-post_6.html 欧拉函数: h ...
- 我也不知道什么是"莫比乌斯反演"和"杜教筛"
我也不知道什么是"莫比乌斯反演"和"杜教筛" Part0 最近一直在搞这些东西 做了将近超过20道题目吧 也算是有感而发 写点东西记录一下自己的感受 如果您真的 ...
- 【BZOJ3529】数表(莫比乌斯反演,树状数组)
[BZOJ3529]数表(莫比乌斯反演,树状数组) 题解 首先不管\(A\)的范围的限制 要求的东西是 \[\sum_{i=1}^n\sum_{j=1}^m\sigma(gcd(i,j))\] 其中\ ...
- 【Luogu3768】简单的数学题(莫比乌斯反演,杜教筛)
[Luogu3768]简单的数学题(莫比乌斯反演,杜教筛) 题面 洛谷 \[求\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j)\] $ n<=10^9$ 题解 很明显的把\( ...
- [复习]莫比乌斯反演,杜教筛,min_25筛
[复习]莫比乌斯反演,杜教筛,min_25筛 莫比乌斯反演 做题的时候的常用形式: \[\begin{aligned}g(n)&=\sum_{n|d}f(d)\\f(n)&=\sum_ ...
- 【51NOD 1847】奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数)
[51NOD 1847]奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数) 题面 51NOD \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 其中\( ...
随机推荐
- Socket 异步通信示例
这个项目是一个控制台应用程序: 服务器端: using System; using System.Net; using System.Net.Sockets; using System.Text; u ...
- asp.net core mvc视频A:笔记3-4.母版页与部分视图
新建项目3.4, 新建一个共享文件,一般存放在Shared目录下方 选择 如果安装了Reshaper插件可以这样添加(插件在本人博客中找) 代码 创建一个空的控制器TestController 使用布 ...
- ASP.NET CORE RAZOR :将新字段添加到 Razor 页面
https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/new-field 在本部分中,将使用 Entity Framew ...
- 转MQTT--Python进行发布、订阅测试
前言 使用python编写程序进行测试MQTT的发布和订阅功能.首先要安装:pip install paho-mqtt 测试发布(pub) 我的MQTT部署在阿里云的服务器上面,所以我在本机上编写 ...
- 基于 Token 的身份验证
最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强, ...
- C语言小板凳(1)
①strlen()函数作用:计算字符串的长度,当遇到"\n"字符时结束,即遇到数值"0"时结束计算,有一点特别要注意当这个函数用来计算数组的长度的时候遇到数值0 ...
- 【Linux 驱动】设备驱动程序再理解
学习设备驱动编程也有一段时间了,也写过了几个驱动程序,因此有对设备驱动程序有了一些新的理解和认识,总结一下.学习设备驱动编程也有一段时间了,也写过了几个驱动程序.因此有对设备驱动程序有了一些新的理解和 ...
- webpack 功能大全 【环境配置】
1. webpack简介 webpack 是一个模块打包工具.它使得模块相互依赖并且可构建等价于这些模块的静态资源.相比于已经存在的模块打包器(module bundler),webpack的开发动机 ...
- spark+kafka 小案例
(1)下载kafka的jar包 http://kafka.apache.org/downloads spark2.1 支持kafka0.8.2.1以上的jar,我是spark2.0.2,下载的kafk ...
- android 软键盘监听显示和隐藏
githup中找到:https://github.com/yescpu/KeyboardChangeListener import android.app.Activity; import andro ...