积性函数与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 ...
随机推荐
- oracle--数据库扩容后出现ORA-27102
一,问题描述 Connected to an idle instance. SQL> startup nomount ORA: obsolete or deprecated parameter( ...
- 写了此书《微软Azure实战参考》 北京航空航天大学出版社 2019年7月
经过大半年的努力,写出了此书<微软Azure实战参考> 北京航空航天大学出版社 2019年7月.喜爱微软云平台和需要使用微软云技术的读者,可以参考一下.
- [数据库] SQL 语法之进阶篇
一.创建计算字段 下面介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们. 1.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式,下面举几个例子. 需要显示公司 ...
- There is no getter for property named 'id' in 'class java.lang.Integer
There is no getter for property named 'id' in 'class java.lang.Integer 问题描述: 使用mybatis传入参数, 当参数类型是St ...
- Deep Learning专栏--强化学习之MDP、Bellman方程(1)
本文主要介绍强化学习的一些基本概念:包括MDP.Bellman方程等, 并且讲述了如何从 MDP 过渡到 Reinforcement Learning. 1. 强化学习基本概念 这里还是放上David ...
- 【Luogu5348】密码解锁(莫比乌斯反演,数论)
[Luogu5348]密码解锁(莫比乌斯反演,数论) 题面 洛谷 题解 首先题目给定的限制是\(\sum_{n|i}a[i]=\mu(n)\),然后把这个东西反演一下, 莫比乌斯反演的式子是:\(g( ...
- [转] Nginx配置性能优化
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了.而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能 ...
- c#语法复习总结(2)-数据类型
C#数据类型可以分值类型和引用类型.值类型,先说说一个概念 c#栈和堆. 一,栈和堆. 堆:在c里面叫堆,在c#里面其实叫托管堆.为什么叫托管堆,我们往下看. 栈:就是堆栈,因为和堆一起叫着别扭,就简 ...
- Oracle基础语法 一
表空间操作 1.创建一个表空间 create tablespace emp(空间名) datafile 'emp.dbf' size 10M autoextend on ; →表空间名字 / 物 ...
- leetcode不同路径
62. 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 问 ...