积性函数大全(欧拉函数、莫比乌斯反演、杜教筛……)

前言

积性函数是OI中的数论题的重要组成部分 (一般都是涉及到各种因数啊,倍数啊,gcd啊


前置知识

整除分块(引理)

有下面这样一个式子:
∑ i = 1 n ⌊ n i ⌋ \sum_{i=1}^n \left \lfloor {n \over i}\right \rfloor i=1nin

求这样一个东西需要多久? O ( n ) O(n) O(n)

仔细观察,我们会发现 ⌊ n i ⌋ \left \lfloor {n \over i}\right \rfloor in 会有相同的取值。

比如: 18 7 = 18 8 = 18 9 = 2 {18\over 7}={18\over 8}={18\over 9}=2 718=818=918=2

有这样一个结论 ⌊ n i ⌋ \left \lfloor {n \over i}\right \rfloor in 最多有 2 n 2\sqrt n 2n 种取值

所以可以 O ( n ) O(\sqrt n) O(n ) 算出答案。


莫比乌斯函数

定义

莫比乌斯函数,像这样 μ ( n ) \mu(n) μ(n)
{ μ ( n ) = 0 ( n 为 一 个 质 数 平 方 的 倍 数 ) μ ( n ) = ( − 1 ) k ( n 的 质 因 数 的 个 数 为 k ) \left\{ \begin{array}{lr} \mu(n)=0 &(n为一个质数平方的倍数)\\ \mu(n)=(-1)^k &(n的质因数的个数为 k)\\ \end{array} \right. { μ(n)=0μ(n)=(1)k(n)(nk)

例如
μ ( 1 ) = 1 = ( − 1 ) 0 μ ( 30 ) = − 1 = ( − 1 ) 3 ( 30 = 2 × 3 × 5 ) μ ( 6 ) = 1 = ( − 1 ) 2 ( 6 = 2 × 3 ) μ ( 12 ) = 0 ( 12 = 2 2 × 3 ) \left. \begin{array}{lr} \mu(1)=1=(-1)^0\\ \mu(30)=-1=(-1)^3 &(30=2\times 3\times 5)\\ \mu(6)=1=(-1)^2 &(6=2\times 3)\\ \mu(12)=0 &(12=2^2\times 3) \end{array} \right. μ(1)=1=(1)0μ(30)=1=(1)3μ(6)=1=(1)2μ(12)=0(30=2×3×5)(6=2×3)(12=22×3)

一个性质

∑ d ∣ n μ ( d ) = [ n = 1 ] \sum_{d|n}\mu(d)=[n=1] dnμ(d)=[n=1]
也就是当n=1是它的值才为1,其他情况都为0 (根据定义应该不难推出吧(逃


欧拉函数

定义

欧拉函数,就像是这样 φ ( n ) \varphi(n) φ(n)

意思是说在 1 到 n,与 n 互质的数有多少个。

比如 φ ( 1 ) = 1 \varphi(1)=1 φ(1)=1 φ ( 7 ) = 6 \varphi(7)=6 φ(7)=6 φ ( 12 ) = 4 \varphi(12)=4 φ(12)=4

表达式

φ ( n ) = n ∏ i = 1 k ( 1 − 1 p i ) \varphi(n)=n\prod_{i=1}^k(1-\frac{1}{p_i}) φ(n)=ni=1k(1pi1)
p i p_i pi p p p的第 i i i个质因数,k为质因数个数

其实很简单,就是个容斥

n个数,减去p1的倍数,p2的倍数……再加回p1p2的倍数,减回p1p2p3的倍数……

一个性质

∑ d ∣ n φ ( d ) = n \sum_{d|n}\varphi(d)=n dnφ(d)=

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值