狄利克雷卷积&莫比乌斯反演
昨天刚说完不搞数论了,刚看到一个\(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\] 其中\( ...
随机推荐
- Java 常见的异常错误分析大集合
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:Negative ...
- 谈一谈Http Request 与Http Response
1.什么是HTTPRequest与HTTP Response? 我们平时打开浏览器,输入网址,点击Enter按键,然后我们想要的网页就呈现在我们的眼前,可是这个过程是怎么实现的呢? 简单来说是这样的: ...
- mac 下 pycharm 快捷键
用过快捷键立即感觉高大上了,最主要的是很方便啊!很强大 cmd b 跳转到声明处(cmd加鼠标) opt + 空格 显示符号代码 (esc退出窗口 回车进入代码) cmd []光标之前/后的位置 op ...
- BFS和DFS的java实现
<pre name="code" class="java"> import java.util.HashMap; import java.util. ...
- docker教程之从一头雾水到不一头雾水(1)
一.安装docker 1.搜索docker [root@node3 ~]# yum search docker Loaded plugins: fastestmirror, langpacks Loa ...
- Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)
Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...
- oracle查看表占用磁盘空间
SELECT T.OWNER, T.SEGMENT_NAME, SUM(T.BYTES) / 1024 / 1024 M FROM DBA_SEGMENTS T WHERE T.OWNER = 'u ...
- Debian Epson L455 打印机
要使用打印机必须要在本机(或局域网其他机器)上安装打印服务,L455是网络打印机,需要IPP协议,而mDNS-scan和avahi-utils是用来发现网络打印机的服务,由于我是摸索着安装的,没太研究 ...
- JAVA读取文件夹大小的几种方式
(一)单线程递归方式 package com.taobao.test; import java.io.File; public class TotalFileSizeSequential { publ ...
- 探究 Redis 4 的 stream 类型
redis 2 10 月初,Redis 搞了个大新闻.别紧张,是个好消息:Redis 引入了名为 stream 的新数据类型和对应的命令,大概会在年底正式发布到 4.x 版本中.像引入新数据类型这样的 ...