Dirichlet卷积及积性函数详解
Dirichlet卷积 (狄利克雷卷积)
定义
若有两个函数$f$与$g$,则其$Dirichlet$卷积为($*$为卷积,为避免混淆,乘号用$\times$表示)
$$ f(n) * g(n)= \sum_{d|n}f(d)g(\frac{n}{d}) $$
一些性质
交换律:$f*g=g*f$
结合律:$(f*g)*h=f*(g*h)$
分配律:$f*(g+h)=f*g+f*h$
单位元$\epsilon$
定义元函数:$\epsilon(n)=[n=1]$
其中$[a]$指如果$a$为真,其值为1,反之则为0。
所以$f*\epsilon=\epsilon*f=f$
证明:$$f(n)*\epsilon(n)=\sum_{d|n}f(d)\epsilon(\frac{n}{d})$$
$$\because \qquad 当\frac{n}{d} \neq 1时 \Longrightarrow\epsilon(\frac{n}{d})=0\Longrightarrow f(d)\epsilon(\frac{n}{d})=0$$
$$\therefore \qquad f(n)*\epsilon(n)=\sum_{d|n且d\neq n}f(d)\epsilon(\frac{n}{d})+f(n)\epsilon(1)=f(n)$$
积性函数
对于一个函数$f$,若对于所有互质的正整数$a,b$,均有$f(ab)=f(a)f(b)$,则$f$为一个积性函数。
对于一个函数$f$,若对于所有正整数$a,b$,均有$f(ab)=f(a)f(b)$,则$f$为一个完全积性函数。
数学语言:
对于函数$f$,若对于$\forall a,b \in N^+,\gcd(a,b)=1$,都有$f(ab)=f(a)f(b)$,则$f$为一个积性函数。
对于函数$f$,若对于$\forall a,b \in N^+$,都有$f(ab)=f(a)f(b)$,则$f$为一个积性函数。
性质:对于两个积性函数$f,g$,$f*g$也为积性函数
一些常见的积性函数
1.除数函数:$n$的约数的$k$次幂之和,$\sigma_k(n)=\sum_{d|n} d^k$。
2.约数个数函数:$n$的约数个数,$d(n)=\sigma_0(n)=\sum_{d|n}1$。
3.约数和函数:$n$的所有约数之和,$\sigma(n)=\sigma_1 (n)=\sum_{d|n}d$。
4.欧拉函数:$[1,n]$中与$n$互质的数的个数,$\phi(n)=\varphi(n)=\sum_{n}^{i=1}[gcd(i,n)=1]$。
5.莫比乌斯函数:定义式:
对于一个数$n$,$\sum_{d|n}\mu(d)=[n=1]$
即当$n$不等于$1$时,$n$所有因子的莫比乌斯函数值的和为$0$
求解该递归式:
其中$t$为$n$质因子个数
6.元函数:$\epsilon(n)=[n=1]$。
7.幂函数:$n$的$k$次方。$Id_k(n)=n^k$。
8.恒等函数:$I(n)=Id_0(n)=1$。
9.单位函数:$Id(n)=Id_1(n)=n$。
一些恒等式
1.$I*I=d$
$$I(n)*I(n)=\sum_{d|n}I(d)I(\frac{n}{d})=\sum_{d|n}1=d(n)$$
2.$Id*I=\sigma$
$$Id(n)*I(n)=\sum_{d|n}Id(d)I(\frac{n}{d})=\sum_{d|n}d=\sigma(n),即Id*I=\sigma$$
3.$\mu*I=\epsilon$
$$\mu(n)*I(n)=\sum_{d|n}\mu(d)I(\frac{n}{d})=\sum_{d|n}\mu(d)=\epsilon(n),即\mu*I=\epsilon$$
4.$\varphi*I=Id$
由$\varphi$的定义知,它还可以表示分母为$n$的最简真分数个数。
所以列出分数$\frac{1}{n},\frac{2}{n},\frac{3}{n},...,\frac{n}{n}$,再约分,以分母分别统计可得
$$\varphi(n)*I(n)=\sum_{d|n}\varphi(d)I(\frac{n}{d})=\sum_{d|n}\varphi(d)=n=Id(n),即\varphi*I=Id$$
5.$\varphi=Id*\mu$
$$\because \qquad \varphi*I=Id$$
$$\therefore \qquad \varphi*I*\mu=Id*\mu$$
$$\therefore \qquad \varphi*\epsilon=Id*\mu$$
$$\therefore \qquad \varphi=Id*\mu$$
唯一分解定理
任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积
即$n=\prod_{i=1}^{t}p_i^{k_i}$
欧拉函数
通项公式
$$\varphi(n)=\prod_{i=1}^{t}(p_i-1)p_i^{k_i-1}=\prod_{i=1}^{t}(1-\frac{1}{pi})p_i^{k_i}=n\prod_{i=1}^{t}(1-\frac{1}{pi})$$
欧拉定理
$$a^{p-1}\equiv1(mod\space \space p)\qquad p为质数$$
证明:
若$ma-na \equiv 0(mod\space \space p)$且$gcd(a,p)=1$,则$(m-n)$为$p$的倍数
那么 $a,2a,3a,...,(p-1)a\%p$的余数必定各不相同,分别为$1,2,3,...,(p-1)$,($a$不为$p$的倍数)
全部相乘,得
$$(p-1)!a^{p-1}\equiv(p-1)!(mod\space\space p)$$
$$a^{p-1}\equiv1(mod\space \space p)$$
广义欧拉定理
$$a^{\varphi(p)}\equiv1(mod\space \space p)\qquad gcd(a,p)=1$$
应用:在快速幂中指数过大,如求$a^{b^c}\%p\qquad(p为质数)$时$(a,b,c<=10^{12})$就可以
long long quickpow(long long a, long long b, long long Mod);
int main()
{
int a, b, c, p;
scanf("%lld%lld%lld%lld", &a, &b, &c, &p);
printf("%lld\n",quickpow(a,quickpow(b,c,p-1),p);
//printf("%lld\n",quickpow(a,quickpow(b,c,phi(Mod)),Mod));
}
$3.Id=\varphi*I$
$4.\varphi=\mu*Id$
$5.\sum_{n}^{i-1}[gcd(i,n)=1]\times i=\frac{n\times\varphi(n)+[n=1]}{2}$
证明:当$n=1$时,易证等式成立
当$n\not =1$时,因为$gcd(i,n)=gcd(n-i,n)$,所以所有的$i$必成对出现,一共有$\frac{\varphi(n)}{2}对$,所以和为$\frac{n\times\varphi(n)}{2}$
$6.\varphi(ij)=\frac{\varphi(i)\varphi(j)gcd(i,j)}{\varphi(gcd(i,j))}$
证明:由于$\varphi$为积性函数,所以我们只需证明满足质数的整数次幂的情况。
当$i=1或j=1$时显然成立。
设$i=p^s,j=p^t$,则
$$\frac{\varphi(i)\varphi(j)gcd(i,j)}{\varphi(gcd(i,j))}$$
$$=\frac{(p-1)^2p^{s+t+min(s,t)-2}}{(p-1)p^{min(s,t)-1}}$$
$$=(p-1)p^{s+t-1}$$
$$=\varphi(p^{s+t})=\varphi(ij)$$
莫比乌斯函数
首先,要明白它的定义式:
对于一个数n,$\{\sum_{d|n}\mu(d)\}=[n=1]$
当$n$不等于$1$时,$n$所有因子的莫比乌斯函数值的$和$为$0$。
易得,$\mu(1)=1$,取$n=p^k$($p$为质数,$k>1$),由定义式可得:
$$\mu(n)=\mu(1)+\mu(p)+\mu(p^2)+...+\mu(p^{k-1})=0$$
取$k=2$,得$\mu(p)=-1$
然后可以进一步推出对于$∀k≥2,\mu(p^k)=0$
然后我们就得到了一个结论:当$n$的一个质因子的次数大于等于$2$时,$\mu(n)=0$
由于$\mu$函数为积性函数,所以$\mu(ij)=\mu(i)\mu(j)$
当$n$不存在一个质因子的次数大于$2$时,我们设$n=\prod_{i=1}^{t}p_i$
$$\therefore \qquad \mu(n)=\mu(p_1)\times\mu(p_2)\times...\times\mu(p_t)=(-1)^t$$
综上所述
约数个数函数
一个重要的性质
$$d(ij)=\sum_{k|i}\sum_{l|j}[gcd(k,l)=1]$$
证明:
设$q$为$ij$的一个因子(可以是质因子),设$q=s\times p^t$($p$为质数)
设$i=i'\times p^a,j=j'\times p^b$,由于$q$为$ij$的一个因子,必有$t≤a+b$
如果$t≤a$,就取$k=m\times p^t$以保证$gcd(k,l)=1$
否则取$k$满足$gcd(k,p)=1$,$t=n\times p^{t-a}$,此时$gcd(k,l)=1$。
这样可以保证对于$ij$的每一个约数都存在唯一一种分解方案,该性质成立。