积性函数与Dirichlet卷积
转载自https://oi-wiki.org/math/mobius/
积性函数
定义
若 $gcd(x,y)=1$ 且 $f(xy)=f(x)f(y)$,则 $f(n)$ 为积性函数。
性质
若 $f(x)$ 和 $f(y)$ 均为积性函数,则以下函数为积性函数:
$h(x) = f(x^p)$
$h(x) = f^p(x)$
$h(x) = g(x)f(x)$
$h(x) = \sum_{d|x} f(d)g(\frac{x}{d})$
后面两条性质非常重要,会经常用。它说明了两个积性函数的乘积仍是积性函数、两个积性函数的Dirichlet卷积仍是积性函数。
例如,\begin{aligned}
h(x_1x_2) &= \sum_{d|x_1x_2} f(d)g(\frac{x_1x_2}{d}) \\
&= f(1)g(15) + f(3)g(5) + f(5)g(3) + f(15)g(1) \\
&= [f(1)g(3) + f(3)g(1)]*[f(1)g(5)+f(5)g(1)] \\
&= h(3)h(5)
\end{aligned}
例子
- 单位函数:$\varepsilon(n) = [n=1]$
- 恒等函数:$id_k(n) = n^k$,$id_1(n)$ 通常简记作 $id(n)$
- 常数函数:$1(n)=1$
- 除数函数:$\sigma_k(n) = \sum_{d|n}d^k$,$\sigma_0(n)$ 通常记作 $d(n)$ 或者 $\tau(n)$(表示约数的个数),$\sigma_1(n)$ 通常记作 $\sigma(n)$
- 莫比乌斯函数:$\mu(n)$
Dirichlet卷积
定义
定义两个数论函数 $f,g$的Dirichlet卷积为
$$(f*g)(n) = \sum_{d|n}f(d)g(\frac{n}{d})$$
性质
Dirichlet卷积满足交换律和结合律
其中 $\varepsilon$ 为Dirichlet卷积的单位元(任何函数卷 $\varepsilon$ 都为本身)
例子
$\displaystyle \varepsilon = \mu * 1 \Leftrightarrow \varepsilon (n) = \sum_{d|n}\mu (d)$
$\displaystyle d = 1*1 \Leftrightarrow d(n) = \sum_{d|n}1$
$\displaystyle \sigma = ID*1 \Leftrightarrow \sigma (n) = \sum_{d|n}d$
$\displaystyle ID = \varphi * 1 \Leftrightarrow ID(n) = \sum _{d|n} \varphi (d)$
$\displaystyle \varphi = \mu * ID \Leftrightarrow \varphi (n) = \sum_{d|n}d\cdot \mu(\frac{n}{d})$
还有一个常用来消 $d$ 的,
$n\cdot d = ID*ID \Leftrightarrow n\cdot d(n) = \sum_{d|n}ID(d) \cdot ID(\frac{n}{d})$
证明
1、证 $\displaystyle \varepsilon (n) = \sum_{d|n}\mu(d)$.
解:设 $\displaystyle n = \prod_{i=1}^k{p_i}^{c_i}, \ {n}' = \prod_{i=1}^k p_i$
那么 $\displaystyle \sum_{d|n}\mu (d) = \sum_{d|{n}'} \mu (d) = \sum_{i=0}^k \binom{k}{i}(-1)^i = (1-1)^k$.
当 $k=0$ 即 $n=1$ 时值为1否则为0,这就证明了 $\displaystyle \sum_{d|n}\mu (d) = [n=1]$.
2、证 $n = \sum_{d|n}\varphi (d)$
解:将 $n$ 质因数分解,$\displaystyle n = \prod_{i=1}^k{p_i}^{c_i}$
首先,因为 $\varphi$ 为积性函数,所以 $\varphi * 1$ 也是积性函数,
所以 $(\varphi * 1)(n) = (\varphi * 1)({p_1}^{c_1}) \cdot (\varphi * 1)({p_2}^{c_2})\cdot ... \cdot (\varphi * 1)({p_k}^{c_k})$.
故我们只要证明当 ${n}' = p^c$ 时,$\displaystyle \varphi *1 = \sum_{d|{n}'} \varphi (\frac{{n}'}{d}) =ID$ 成立即可。
因为 $p$ 是质数,于是 $d = p^0, p^1, ..., p^c$.
因此:
$$\begin{aligned}
\varphi *1 &= \sum_{d|n}\varphi (\frac{n}{d}) \\
&= \sum_{i=0}^c \varphi(p^i) \\
&= 1 + p^0\cdot (p-1) + p^1\cdot (p-1) + ... + p^{c-1}(p-1) \\
&= p^c
\end{aligned}$$
该式子两边同时卷积 $\mu$ 可得 $\varphi = ID * \mu$,即 $\varphi (n) = \sum_{d|n}d\cdot \mu (\frac{n}{d})$
积性函数与Dirichlet卷积的更多相关文章
- 『简单积性函数和dirichlet卷积』
简单积性函数 在学习欧拉函数的时候,相信读者对积性函数的概念已经有了一定的了解.接下来,我们将相信介绍几种简单的积性函数,以备\(dirichlet\)卷积的运用. 定义 数论函数:在数论上,对于定义 ...
- Codeforces E. Bash Plays with Functions(积性函数DP)
链接 codeforces 题解 结论:\(f_0(n)=2^{n的质因子个数}\)= 根据性质可知\(f_0()\)是一个积性函数 对于\(f_{r+1}()\)化一下式子 对于 \[f_{r+1} ...
- 2017 CCPC 杭州 HDU6265B 积性函数
题目链接 http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf B题 数论题 h(n)=∑ d|n φ(d) × ...
- 积性函数&线性筛&欧拉函数&莫比乌斯函数&因数个数&约数个数和
只会搬运YL巨巨的博客 积性函数 定义 积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数. 完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数 ...
- codeforces757E. Bash Plays with Functions(狄利克雷卷积 积性函数)
http://codeforces.com/contest/757/problem/E 题意 Sol 非常骚的一道题 首先把给的式子化一下,设$u = d$,那么$v = n / d$ $$f_r(n ...
- Master of Phi (欧拉函数 + 积性函数的性质 + 狄利克雷卷积)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6265 题目大意:首先T是测试组数,n代表当前这个数的因子的种类,然后接下来的p和q,代表当前这个数的因 ...
- Mobius反演与积性函数前缀和演学习笔记 BZOJ 4176 Lucas的数论 SDOI 2015 约数个数和
下文中所有讨论都在数论函数范围内开展. 数论函数指的是定义域为正整数域, 且值域为复数域的函数. 数论意义下的和式处理技巧 因子 \[ \sum_{d | n} a_d = \sum_{d | n} ...
- [模板] 积性函数 && 线性筛
积性函数 数论函数指的是定义在正整数集上的实或复函数. 积性函数指的是当 \((a,b)=1\) 时, 满足 \(f(a*b)=f(a)*f(b)\) 的数论函数. 完全积性函数指的是在任何情况下, ...
- Codeforces757E.Bash Plays With Functions(积性函数 DP)
题目链接 \(Description\) q次询问,每次给定r,n,求\(F_r(n)\). \[ f_0(n)=\sum_{u\times v=n}[(u,v)=1]\\ f_{r+1}(n)=\s ...
随机推荐
- dskms改为ckplayer播放器
将ckplayer代码文件夹上传到/var/www/html/public/static/plugins/目录下修改/var/www/html/application/home/view/defaul ...
- IDEA 最新破解方法,2019 版本已支持(持续更新,更新时间2019-05-14)
一.安装进入官网下载适合自己系统的版本,下载地址:https://www.jetbrains.com/idea/download/#section=windows 2. 安装中选择适合本机的64位 ...
- 【网络知识之五】TCP
TCP协议:传输控制协议. 一.TCP保证可靠性的机制1.校验和 TCP报头有16位检验和: 由发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题. 此处的校验和不光包含 ...
- 如何在 VS2015 上开发 Qt 程序
所有Qt版本下载地址: http://download.qt.io/archive/qt/ 所有Qt Creator下载地址: http://download.qt.io/archive/qtcrea ...
- 2018 ACM-ICPC徐州站网络赛 G题
There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( xxx , yy ...
- 使用 Valgrind 检测 C++ 内存泄漏
Valgrind 的介绍 Valgrind 可以用来检测程序是否有非法使用内存的问题,例如访问未初始化的内存.访问数组时越界.忘记释放动态内存等问题.在 Linux 可以使用下面的命令安装 Valgr ...
- 云计算入门(一)、使用vagrant+virtualbox安装虚机
一.vagrant和virtaulbox简介 Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,我们可以使用它来干如下这些事: 建立和删除虚拟机配置虚拟机运行参数管理虚拟机运行状态 ...
- 基于串口的SD_card系统
概述 基于串口的SD_card系统1, 扫描文件:2, 新建文件:3, 删除文件:4, 写入文件:5, 读取文件. 整个文件系统的串口通信方式都是ASC通信方式. 文件系统分为简单实用方式和专业使用方 ...
- set容器与map容器的简单应用
set容器中一些函数,取自百度其他大佬已总结好的,如有侵权,请联系删除! set的各成员函数列表如下: c++ stl容器set成员函数:begin()--返回指向第一个元素的迭代器 c++ stl容 ...
- 看一下“Dubbo 2.7”的三大新特性
Dubbo 2.7.x 作为 Apache 的孵化版本,除了代码优化之外,还新增了许多重磅的新特性,本文将会介绍其中最典型的三个新特性: 一.异步化改造 二.三大中心改造 三.服务治理增强 一.异步支 ...