数论学习笔记

Warning:请不要使用此博客作为学习用途,这个博客是写出来我自己看的,所以很有可能前言不搭后语或者出言不逊。

# 备忘录

## 一些记号

$ ext{I}(x)=1$

$ ext{id}(x)=x$

$ ext{e}(x)=[x=1]$

$ ext{d}(x)=sumlimits_{d|x}1$

$sigma(x)=sumlimits_{d|x}d$

$varphi(x)$ 欧拉函数

$mu(x)$ 莫比乌斯函数

## 一些数论定理

$e*F=F$,$F$ 为任何数论函数。

$e=mu * 1$,$[n=1]=sumlimits_{d|n}mu(d)$

$id=varphi*1$,$n=sumlimits_{d|n}phi(d)$

$mu*id=varphi$

$mu*d=1$

$id=varphi *1$

## 莫比乌斯反演

$ ext{g}(n)=sumlimits_{d|n}{ ext{f}(n)}$,则 $ ext{f}(n)=sumlimits_{d|n}mu({frac{n}{d}}) ext{g}(d)$

## 狄利克雷卷积

$ ext{f}(n)* ext{g}(n)=sumlimits_{d|n}f(d)g(frac{n}{d})$


# Euler 函数的前缀和

令 $phi(n)=sumlimits_{i=1}^nvarphi(i)$,求 $phi(n)$。

$$
egin{aligned}{}

&quad frac{1}{2}n(n+1)\

&=sumlimits_{i=1}^{n}i=sumlimits_{i=1}^nsumlimits_{d|i}varphi(frac{i}{d})\

&=sumlimits_{d=1}^nsumlimits_{1leq i leq n, d|k}varphi(frac{i}{d})\

&=sumlimits_{d=1}^{n}sumlimits_{i=1}^{lfloorfrac{n}{d} floor}varphi(i)\

&=sumlimits_{d=1}^nphi(lfloor frac{n}{d} floor)\
end{aligned}\

herefore phi(n)=frac{1}{2}n(n+1)-sumlimits_{d=2}^{n}phi(lfloorfrac{n}{d} floor)\
$$

当知道了 $phi(lfloorfrac{n}{d} floor)$ 运用整除分块即可在 $mathcal O(sqrt n)$ 内算出 $phi(n)$。

利用记忆化搜索,可以防止一个值被计算多次。

总时间复杂度 $mathcal O(n^frac{3}{4})$。

因此可以使用欧拉筛筛出前 $n^frac{2}{3}$ 的值,然后运用杜教筛,那么总时间复杂度为 $mathcal O(n^frac{2}{3})$。显然非常玄学,我也不知道怎么计算出来的qwq

# Möbius 函数的前缀和

令 $ ext{M}(n)=sumlimits_{i=1}^nmu(i)$。计算 $ ext{M}(n)$。

$$
egin{aligned}
1
&=sumlimits_{i=1}^n ext{e}(i)=sumlimits_{i=1}^nsumlimits_{d|i}mu(d)\
&=sumlimits_{d=1}^nsumlimits_{1leq ileq n,d|i}mu(frac{i}{d})\
&=sumlimits_{d=1}^nsumlimits_{i=1}^{lfloorfrac{n}{d} floor}mu(i)\
&=sumlimits_{d=1}^n ext{M}(lfloorfrac{n}{d} floor)
end{aligned}\
herefore ext{M}(n)=1-sumlimits_{d=2}^n ext{M}(lfloorfrac{n}{d} floor)
$$

同理可以运用线性筛计算。

原文地址:https://www.cnblogs.com/SmallPillow/p/12814982.html