狄利克雷卷积 Dirichlet
定义
其本质是一种运算,可以用 ∗ 表示。
h(x)=f(x)∗g(x)=d∣x∑f(d)g(dx)=ab=x∑f(a)g(b)
积性函数 f(x) 满足 ∀(a,b)=1,f(ab)=f(a)f(b)。
完全积性函数 f(x) 满足 f(ab)=f(a)f(b)。
可以使用线性筛算出积性函数。
性质
交换律:f∗g=g∗f。
结合律:(f∗g)∗h=f∗(g∗h)。
分配律:(f+g)∗h=f∗h+g∗h。
若 f 和 g 是积性函数,则 f∗g 也是积性函数。
若 f 是积性函数,则 f 的逆元也是积性函数。
逆元
单位函数 ε,f∗ε=f。
若 g 满足 f∗g=ε,则称 g(x) 是 f(x) 的逆元。逆元唯一。
ps:目前还不太懂这是什么,但好像可以理解为 ε(n)={10n=1n=1。
g(x)=1ε(x)−∑d∣x,d=1f(d)f(dx)
莫比乌斯函数 Möbius
定义式
n=p1a1p2a2...pkakμ(n)=⎩⎪⎨⎪⎧10(−1)kn=1∃i≤k,ai>1else
性质
μ(x) 是积性函数。
d∣n∑μ(d)={10n=1n=1
即 ∑d∣nμ(d)=ε(n),μ∗1=ε。在狄利克雷卷积中,莫比乌斯函数是常数函数 1 的逆元。
证明
n=p1a1p2a2...pkak,n′=p1p2...pk∵μ(k×a2)=0∴d∣n∑μ(d)=d∣n′∑μ(d)
则现在就是尝试在 k 个互异质数中选择一个集合,若集合大小为奇数,答案 -1,否则答案 +1。k>1 时,∑d∣n′μ(d)=∑i=0k(ik)×(−1)i。二项式定理是 (a+b)n=∑i=0n(in)aibn−i,将 a=−1,b=1 带入则是 (1+(−1))n=∑i=0n(in)×(−1)i=0。故 k>1 时,∑d∣nμ(d)=0。剩下情况不难自证。
ps:以上证明只是本人在初学时的结论,不保证正确,等待未来的我修改或确认。
反演结论
[gcd(i,j)=1]=d∣gcd(i,j)∑μ(d)
例题
求 i=x∑nj=y∑m[gcd(i,j)=k],(1≤T,x,y,n,m,k≤105)。
f(a,b,k)=i=1∑aj=1∑b[gcd(i,j)=k](1)
i=x∑nj=y∑m[gcd(i,j)=k]=f(n,m,k)−f(x−1,m,k)−f(n,y−1,k)+f(x−1,y−1,k)(2)
f(a,b,k)=i=1∑⌊ka⌋j=1∑⌊kb⌋[gcd(i,j)=1](3)
=i=1∑⌊ka⌋j=1∑⌊kb⌋d∣gcd(i,j)∑μ(d)(4)
=d∑μ(d)i=1∑⌊ka⌋[d∣i]j=1∑⌊kb⌋[d∣j](5)
=d=1∑min(⌊ka⌋,⌊kb⌋)μ(d)⌊d⌊ka⌋⌋⌊d⌊kb⌋⌋(6)
(1) 到 (2) 的过程是二维差分,(3) 到 (4) 的过程就是反演结论的使用,(5) 到 (6) 是因为 i=1∑⌊ka⌋[d∣i] 就是 [1,⌊ka⌋] 中是 d 的倍数的个数,另一个同理。
使用 O(V) 线性筛预处理出 μ(i) 和 ∑i=1nμ(i),使用整除分块在 O(V) 算出 (6)。总时间复杂度为 O(V+∑V)。
阶
定义
由欧拉定理可知,(a,m)=1,aφ(m)≡1(modm)。故存在最小正整数满足 an≡1(modm),称 n 为 a 模 m 的阶,记作 ordm(a)。
性质
a,a2...aordm(a) 模 m 两两不同余。
若 ap≡aq(modm),则 p≡q(modordm(a))。
(a,m)=(b,m)=1ordm(ab)=ordm(a)ordm(b)⇔gcd(ordm(a),ordm(b))=1
原根 primitive-root
定义
若 (g,m)=1,且 ordm(g)=φ(m),则称 g 为模 m 的原根。
性质
对于 m≥3,(g,m)=1,则 g 是模 m 的原根 ⇔ 对于 φ(m) 的每个质因子 p,都有 gpφ(m)≡1(modm)。
若 m 有原根,则原根个数为 φ(φ(m))。
原根存在定理:一个数 m 存在原根当且仅当 m=2,4,pa,2pa,p 为奇质数。
a 的最小原根大约在 4a,long long 内的都可以暴力枚举。
设 g 为 n 的最小原根,则 n 的原根集合 S={gs∣(s,φ(n))=1}。
部分证明
由第 1 条得,∀p is prime and p∣φ(n),gpφ(n)=1(modn)。
gspφ(n)=(gφ(n))ps,若 gcd(s,φ(n))>1,则有一个 p 使 ps 为正整数,由欧拉定理得 gφ(n)≡1(modn),矛盾,故 (s,φ(n))=1,证明其必要性。
Burnside&Pólya 定理
[X/G]=∣G∣1g∈G∑∣Xg∣(1)
即本质不同的等价类个数是不动点个数的平均值。∣Xg∣ 表示 X 在置换 g 下的不动点个数。
[X/G]=∣G∣1g∈G∑mc(g)(2)
c(g) 表示置换 g 形成了多少个环。
因为一个点在置换 g 上成为不定点当且仅当这个点所在的环是同一种颜色,所以对每个环单独染色即可。
ps:(1) 中的 G 是定义在染色方案上的,即有 nm 种染色方案,(2) 中的 G 是定义在 n 个点的轮换上,即有 n 种旋转方式。