转载自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卷积的更多相关文章

  1. 『简单积性函数和dirichlet卷积』

    简单积性函数 在学习欧拉函数的时候,相信读者对积性函数的概念已经有了一定的了解.接下来,我们将相信介绍几种简单的积性函数,以备\(dirichlet\)卷积的运用. 定义 数论函数:在数论上,对于定义 ...

  2. Codeforces E. Bash Plays with Functions(积性函数DP)

    链接 codeforces 题解 结论:\(f_0(n)=2^{n的质因子个数}\)= 根据性质可知\(f_0()\)是一个积性函数 对于\(f_{r+1}()\)化一下式子 对于 \[f_{r+1} ...

  3. 2017 CCPC 杭州 HDU6265B 积性函数

    题目链接 http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf B题 数论题      h(n)=∑ d|n φ(d) × ...

  4. 积性函数&线性筛&欧拉函数&莫比乌斯函数&因数个数&约数个数和

    只会搬运YL巨巨的博客 积性函数 定义 积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数. 完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数 ...

  5. codeforces757E. Bash Plays with Functions(狄利克雷卷积 积性函数)

    http://codeforces.com/contest/757/problem/E 题意 Sol 非常骚的一道题 首先把给的式子化一下,设$u = d$,那么$v = n / d$ $$f_r(n ...

  6. Master of Phi (欧拉函数 + 积性函数的性质 + 狄利克雷卷积)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6265 题目大意:首先T是测试组数,n代表当前这个数的因子的种类,然后接下来的p和q,代表当前这个数的因 ...

  7. Mobius反演与积性函数前缀和演学习笔记 BZOJ 4176 Lucas的数论 SDOI 2015 约数个数和

    下文中所有讨论都在数论函数范围内开展. 数论函数指的是定义域为正整数域, 且值域为复数域的函数. 数论意义下的和式处理技巧 因子 \[ \sum_{d | n} a_d = \sum_{d | n} ...

  8. [模板] 积性函数 && 线性筛

    积性函数 数论函数指的是定义在正整数集上的实或复函数. 积性函数指的是当 \((a,b)=1\) 时, 满足 \(f(a*b)=f(a)*f(b)\) 的数论函数. 完全积性函数指的是在任何情况下, ...

  9. 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 ...

随机推荐

  1. Python安装(64位Win8.1专业版)

    本文出处:http://www.cnblogs.com/leonwen/p/4700648.html 嗯,开始学Python. 我安装的是Python 2.7.10版本,安装的时候除了选了路径其他均n ...

  2. 花一天时间踩了node npm的一个坑

    在一个后端眼里nodejs这工具真的难用,最近为了用elementui,然后去硬着头皮学vue,学着学着,发现还要去用node,webpack.真想掐死前端那一群人啊.... 好了,进入正题.话说我装 ...

  3. JavaScript 系列--JavaScript一些奇淫技巧的实现方法(三)数字取整,数组求和

    一.前言 简短的sleep函数,获取时间戳:https://www.mwcxs.top/page/746.html 数字格式化 1234567890 --> 1,234,567,890:argr ...

  4. C#调用WPS将文档转换成pdf进行预览

    引用:https://www.jianshu.com/p/445996126c75 vs启动项目可以生成wps实例 本地iis部署的站点却不行 原因是vs是管理员权限,而iis没有权限 解决方法 启动 ...

  5. myeclipse配置springmvc教程

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  6. Dart:2.通过一个简单程序来理解Dart基础语法

    一 . 一个简单的 Dart 程序 // 这是程序执行的入口. main() { var number = 42; // 定义并初始化一个变量. printNumber(number); // 调用一 ...

  7. python网络爬虫(2)——scrapy框架的基础使用

    这里写一下爬虫大概的步骤,主要是自己巩固一下知识,顺便复习一下. 一,网络爬虫的步骤 1,创建一个工程 scrapy startproject 工程名称 创建好工程后,目录结构大概如下: 其中: sc ...

  8. nginx 的一些优化(突破十万并发)

    一般来说 nginx 配置文件中对优化比较有作用的为以下几项: worker_processes 8; nginx 进程数,建议按照 cpu 数目来指定,一般为它的倍数. worker_cpu_aff ...

  9. IDEA 设置: Live Templates 方法注释 注释模板编写

    IDEA: Live Templates 方法注释 注释模板编写: 打开IDEA开发工具进入设置找到Editor: File>>Setting>>Editor>>L ...

  10. Sql语句groupBY分组后取最新一条记录的SQL

    一.问题 groupBY分组后取最新一条记录的SQL的解决方案. 二.解决方案 select Message,EventTime from PT_ChildSysAlarms as a where E ...