迪利克雷卷积,莫比乌斯反演,杜教筛
常见积性函数
- μ(n)={1,i=10,n无2次方以上的素因数(−1)k,k为不同素因数的种类\mu(n)=\begin{cases} 1,&i=1\\ 0,&n无2次方以上的素因数\\ (-1)^k,&k为不同素因数的种类 \end{cases}μ(n)=⎩⎪⎨⎪⎧1,0,(−1)k,i=1n无2次方以上的素因数k为不同素因数的种类
- φ(n)=∑i=1n[(n,i)=1]\varphi(n)=\sum_{i=1}^{n}[(n,i)=1]φ(n)=∑i=1n[(n,i)=1]
- d(n)=∑d=1n[d∣n]d(n)=\sum_{d=1}^{n}[d|n]d(n)=∑d=1n[d∣n]
- σ(n)=∑d∣nd=∑d=1n[d∣n]⋅d\sigma(n)=\sum_{d|n}d=\sum_{d=1}^{n}[d|n]\cdot dσ(n)=∑d∣nd=∑d=1n[d∣n]⋅d
- ϵ(n)=[n=1]\epsilon(n)=[n=1]ϵ(n)=[n=1]
- I(n)=1I(n)=1I(n)=1
- id(n)=nid(n)=nid(n)=n
迪利克雷卷积
- 定义:两个数论函数fff和ggg的卷积为(f∗g)(n)=∑d∣nf(d)⋅g(nd)(f*g)(n)=\sum_{d|n}f(d) \cdot g(\frac{n}{d})(f∗g)(n)=∑d∣nf(d)⋅g(dn)。
- 交换律:f∗g=g∗ff*g=g*ff∗g=g∗f
- 结合律:(f∗g)∗h=f∗(g∗h)(f*g)*h=f*(g*h)\quad(f∗g)∗h=f∗(g∗h)所以fff的kkk次卷积可以用类似快速幂的方式
- 分配律:(f+g)∗h=f∗h+g∗h(f+g)*h=f*h+g*h(f+g)∗h=f∗h+g∗h
- 若f,gf,gf,g为积性函数,则f∗gf*gf∗g为积性函数
- 若f,gf,gf,g为积性函数,n=∏i=1mpiαin=\prod_{i=1}^{m}p_i^{\alpha_i}n=∏i=1mpiαi,则f∗g(n)=∏i=1mf∗g(piαi)f*g\,(n)=\prod_{i=1}^{m}f*g\,(p_i^{\alpha_i})f∗g(n)=∏i=1mf∗g(piαi) 证明
常用公式
- ∑d∣nμ(d)=[n=1]\sum_{d|n}\mu(d)=[n=1]∑d∣nμ(d)=[n=1]
- ∑d∣nφ(d)=n\sum_{d|n}\varphi(d)=n∑d∣nφ(d)=n
- ∑i=1ni[(i,n)=1]=φ(n)n2n>1(gcd(i,n)=1⟺gcd(n−i,n)=1,所以两两配对和等于n)\sum_{i=1}^{n}i[(i,n)=1]=\frac{\varphi(n)n}{2}\quad n>1\quad(gcd(i,n)=1\Longleftrightarrow gcd(n-i,n)=1,所以两两配对和等于n)∑i=1ni[(i,n)=1]=2φ(n)nn>1(gcd(i,n)=1⟺gcd(n−i,n)=1,所以两两配对和等于n) 证明
- ϵ∗f=f\epsilon*f=fϵ∗f=f
- I∗μ=ϵ⟺[n=1]=∑d∣nμ(d)I*\mu=\epsilon\Longleftrightarrow[n=1]=\sum_{d|n}\mu(d)I∗μ=ϵ⟺[n=1]=∑d∣nμ(d)
- φ∗I=id⟺∑d∣nφ(d)=n\varphi*I=id\Longleftrightarrow\sum_{d|n}\varphi(d)=nφ∗I=id⟺∑d∣nφ(d)=n
- μ∗id=φ⟺∑d∣nnd⋅μ(d)\mu*id=\varphi\Longleftrightarrow\sum_{d|n}\frac{n}{d}\cdot\mu(d)μ∗id=φ⟺∑d∣ndn⋅μ(d)
- φ(xn)=xn−1φ(x)\varphi(x^n)=x^{n-1}\varphi(x)φ(xn)=xn−1φ(x)
- d(n⋅m)=∑i∣n∑j∣m[(i,j)=1]d(n\cdot m)=\sum_{i|n}\sum_{j|m}[(i,j)=1]d(n⋅m)=∑i∣n∑j∣m[(i,j)=1]
莫比乌斯反演
- 定理:F(n)F(n)F(n)和f(n)f(n)f(n)是定义在非负整数集合上的两个函数,并且满足条件:
F(n)=∑d∣nf(d)F(n)=\sum_{d|n}f(d)F(n)=d∣n∑f(d)
那么存在一个结论:
f(n)=∑d∣nμ(d)F(nd)f(n)=\sum_{d|n}\mu(d)F(\frac{n}{d})f(n)=d∣n∑μ(d)F(dn)
这个定理就称作莫比乌斯反演定理。 - 证明1
∑d∣nμ(d)F(nd)=∑d∣nμ(d)∑i∣ndf(i)=∑i∣nf(i)∑d∣niμ(d)=f(n)\begin{aligned} \sum_{d|n}\mu(d)F(\frac{n}{d})&=\sum_{d|n}\mu(d)\sum_{i|\frac{n}{d}}f(i) \\ &=\sum_{i|n}f(i)\sum_{d|\frac{n}{i}}\mu(d)\\ &=f(n) \end{aligned} d∣n∑μ(d)F(dn)=d∣n∑μ(d)i∣dn∑f(i)=i∣n∑f(i)d∣in∑μ(d)=f(n) - 证明2
F=f∗IF∗μ=f∗I∗μF∗μ=f∗ϵF∗μ=f\begin{aligned} F&=f*I\\ F*\mu&=f*I*\mu\\ F*\mu&=f*\epsilon\\ F*\mu&=f \end{aligned} FF∗μF∗μF∗μ=f∗I=f∗I∗μ=f∗ϵ=f
定理
若
F(n)=∑n∣df(d)F(n)=\sum_{n|d}f(d) F(n)=n∣d∑f(d)
则有
f(n)=∑n∣dμ(dn)F(d)f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d) f(n)=n∣d∑μ(nd)F(d)
证明
∑n∣dμ(dn)F(d)=∑n∣dμ(dn)∑d∣ef(e)=∑n∣e∑d∣enμ(d)f(e)=∑n∣ef(e)[en=1]=f(n)\begin{aligned} &\sum_{n|d}\mu(\frac{d}{n})F(d)\\ =&\sum_{n|d}\mu(\frac{d}{n})\sum_{d|e}f(e)\\ =&\sum_{n|e}\sum_{d|\frac{e}{n}}\mu(d)f(e)\\ =&\sum_{n|e}f(e)[\frac{e}{n}=1]\\ =&f(n) \end{aligned} ====n∣d∑μ(nd)F(d)n∣d∑μ(nd)d∣e∑f(e)n∣e∑d∣ne∑μ(d)f(e)n∣e∑f(e)[ne=1]f(n)
杜教筛 - 求∑i=1nf(i)=S(n)\sum_{i=1}^{n}f(i)=S(n)∑i=1nf(i)=S(n)
- 构造两个积性函数hhh和ggg,使得h=f∗gh=f*gh=f∗g
∑i=1nh(i)=∑i=1n∑d∣ig(d)⋅f(id)=∑d=1ng(d)⋅∑i=1⌊nd⌋f(i)∑i=1nh(i)=∑d=1ng(d)⋅S(⌊nd⌋)\begin{aligned} \sum_{i=1}^{n}h(i)&=\sum_{i=1}^{n}\sum_{d|i}g(d)\cdot f(\frac{i}{d})\\ &=\sum_{d=1}^{n}g(d)\cdot\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}f({i})\\ \sum_{i=1}^{n}h(i)&=\sum_{d=1}^{n}g(d)\cdot S(\lfloor\frac{n}{d}\rfloor) \end{aligned} i=1∑nh(i)i=1∑nh(i)=i=1∑nd∣i∑g(d)⋅f(di)=d=1∑ng(d)⋅i=1∑⌊dn⌋f(i)=d=1∑ng(d)⋅S(⌊dn⌋)
接着,我们将右边式子的第一项给提出来,可以得到:
∑i=1nh(i)=g(1)⋅S(n)+∑d=2ng(d)⋅S(⌊nd⌋)g(1)S(n)=∑i=1nh(i)−∑d=2ng(d)⋅S(⌊nd⌋)\begin{aligned} \sum_{i=1}^{n}h(i)&=g(1)\cdot S(n)+\sum_{d=2}^{n}g(d)\cdot S(\lfloor\frac{n}{d}\rfloor)\\ g(1)S(n)&=\sum_{i=1}^{n}h(i)-\sum_{d=2}^{n}g(d)\cdot S(\lfloor\frac{n}{d}\rfloor) \end{aligned} i=1∑nh(i)g(1)S(n)=g(1)⋅S(n)+d=2∑ng(d)⋅S(⌊dn⌋)=i=1∑nh(i)−d=2∑ng(d)⋅S(⌊dn⌋)
线性筛预处理10710^7107 的前缀和
找hhh和ggg时把卷积形式写出来观察。
迪利克雷卷积,莫比乌斯反演,杜教筛相关推荐
- [复习]莫比乌斯反演,杜教筛,min_25筛
[复习]莫比乌斯反演,杜教筛,min_25筛 莫比乌斯反演 做题的时候的常用形式: \[\begin{aligned}g(n)&=\sum_{n|d}f(d)\\f(n)&=\sum_ ...
- 【bzoj4176】Lucas的数论 莫比乌斯反演+杜教筛
题目描述 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目"求Sigma(f(i)),其中1<=i<=N" ...
- matlab狄利克雷函数,数论入门1——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛...
数论入门1 一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数$\mu(n)$为: 当n有平方因子时,$\mu(n)=0$. 当n没有平方因子时,$\mu(n)=(-1)^{\omega(n)} ...
- 【LOJ#572】Misaka Network 与求和(莫比乌斯反演/杜教筛/min_25筛)
[LOJ#572]Misaka Network 与求和 https://www.cnblogs.com/cjyyb/p/10170630.html 看到次大质因子就可以想到是min_25筛了,然后只需 ...
- 牛客练习赛84F-牛客推荐系统开发之下班【莫比乌斯反演,杜教筛】
正题 题目链接:https://ac.nowcoder.com/acm/contest/11174/F 题目大意 给出n,kn,kn,k求 ∑i1=1n∑i2=1n...∑ik=1ngcd(fi1,f ...
- 牛客P19836 裴蜀定理+莫比乌斯反演+杜教筛
题意: 一开始一个人在原点,它拥有 n n n个整数 x i x_{i} xi,并且 x i ∈ [ 1 , m ] x_{i}\in[1,m] xi∈[1,m],他每次可以选择一个 x i x_ ...
- CCPC-Wannafly Winter Camp Day3 (Div2, onsite) F 小清新数论 欧拉函数的利用 莫比乌斯反演 杜教筛
F - 小清新数论 做法一:欧拉函数 #include<stdio.h> #include<bits/stdc++.h> using namespace std; #defin ...
- Loj #572. 「LibreOJ Round #11」Misaka Network 与求和(莫比乌斯反演 + 杜教筛 + min_25筛(递推版))
直接反演一下:∑i=1n∑i=1nf(gcd(i,j))k\sum_{i = 1}^n\sum_{i = 1}^nf(gcd(i,j))^ki=1∑ni=1∑nf(gcd(i,j))k=∑d=1n ...
- 51nod1220-约数之和【莫比乌斯反演,杜教筛】
正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1220 题目大意 给出nnn,求∑i=1n∑j=1nσ(i∗j)\sum_ ...
最新文章
- 【转】android的startActivityForResult学习心得
- prefixspan是挖掘频繁子序列,子序列不一定是连续的,当心!!!
- VS2010强大的一塌糊涂
- 无锁缓存,每秒10万并发,究竟如何实现?
- .Net Discovery系列之四 深入理解.Net垃圾收集机制(下)
- 计算机网络之数据链路层:10、CSMA协议-随机访问介质访问控制
- 数据库访问性能优化法则
- How to get the xpath by clicking an html element
- linux 学习 vi简介; vi下三种工作方式。
- qt qtableview插入进度条_Qt之QSqlTableModel的使用
- 企业应该了解的ISO27001体系建设指导
- android 隐藏桌面图标
- 手把手BC26模组OpenCPU开发之旅-1.简介
- 《区块链开源技术需求调研报告》拍了拍你
- Linux查看mpp数据库地址,linux下打开.mpp文件(微软project)._操作系统_rainysia的专栏-CSDN博客...
- perf top 实时分析 CPU 使用情况
- php 文本域,关于使用文本域(TextArea)的一个问题
- Python聪明的尼姆游戏(人机对战)
- 性价比降噪耳机:NANK南卡降噪耳机和小米降噪耳机买哪个好?
- URULE规则引擎——决策树