Fork me on GitHub

Mobius反演习题整理

题单

(这边的是做过的..)

题单在这: https://www.cnblogs.com/darklove/p/7554314.html

BZOJ-2440

BZOJ-3994/LUOGU-3327双倍经验

BZOJ-2154

SPOJ-DIVCNT2(谁来帮我卡个常啊最后的点T飞就差一点点啊啊啊啊啊)

BZOJ-2301/LUOGU-2522双倍经验

51Nod-1244

51Nod-1239

BZOJ-3944

51Nod-1237

—-(不定期添加全凭造化)

奇技淫巧常用公式整理

狄利克雷卷积

狄利克雷卷积定义在数论函数

狄利克雷卷积

定义

狄利克雷卷积:$\displaystyle (f \times g)(n) = \sum_{d|n}f(d)*g(\frac{n}{d})$

一个例子:$f(x)=2x,g(x)=3x$
$(f \times g)(6)=f(1)g(6)+f(2)g(3)+f(3)g(2)+f(6)g(1)$
往往省略掉$n$

狄利克雷卷积定义在数论函数上。

数论函数: 如果一个函数的定义域为正整数,值域为复数,则称此函数为数论函数。常见的数论函数有欧拉函数$\varphi$和莫比乌斯函数$\mu$

运算律:

  1. 结合律 $(f \times g ) \times h= f \times (g \times h)$
  2. 交换律 $f \times g = g \times f$
  3. 加法-狄利克雷卷积分配律 $f \times (g+h) = f\times g + f \times h$
  4. 单位元 单位函数$\epsilon$,使得$f= \epsilon \times f =f \times \epsilon$

    单位函数的取值:$n=1$$\epsilon(n)=1$$n$取其他值时$\epsilon(n)=0$
  5. 逆元 对于任意数论函数$f$,如果$f(1) \not = 0$,则存在唯一的逆函数$f^{-1}$,使得 $f \times f^{-1} = \epsilon$

    对于$n=1$,有:${f^{-1}(1)={\frac {1}{f(1)}}}$

    对于$n>1$,有:$ {f^{-1}(n)={\frac {-1}{f(1)}}\displaystyle \sum _{d|n,n\neq d}f({\frac {n}{d}})f^{-1}(d)}$

特殊函数的

由:$\sum_{d|n}\varphi(d)=n$再结合狄利克雷卷积的定义:

$\varphi*1=n$

根据Mobius反演的式子:

$F(n)=\sum_{d|n}f(d)$

写成卷积的形式就是:

$F = f*1$

事实上我们甚至可以用狄利克雷卷积的运算法则来证明莫比乌斯反演的正确性

更有意思的是我们几乎可以不费吹灰之力,利用狄利克雷卷积运算的交换律,由:

这么快就证完了,,,珂怕.

数论积性函数线性筛法

由积性函数的定义,大部分的数论函数如$\mu(x),\varphi(x)$都能在$Euler$线性筛中以$O(n)$的时间得到.

交出板子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
inline void init(void)
{
//phi[i]为欧拉函数,u[i]为莫比乌斯函数,f[i]为约数个数函数,g[i]为最高质因数的次方数
phi[1] = u[1] = f[1] = 1;
for (int i = 2; i < maxn; i++)
{
if(!vis[i])
{
prime[++cnt] = i;
u[i] = -1;
f[i] = 2;
g[i] = 1;
phi[i] = i-1;
}
for(int j = 1;j <= cnt&& i*prime[j] <=maxn; j++)
{
vis[i*prime[j]]=true;
if(i%prime[j]== 0)
{
u[i*prime[j]]=0;
g[i*prime[j]]=g[i]+1;
f[i*prime[j]]=f[i]/(g[i]+1)*(g[i]+2);
phi[i*prime[j]] = phi[i] * prime[j];
break;
}
u[i*prime[j]]=-u[i];
g[i*prime[j]]=1;
f[i*prime[j]]=f[i]*2;
phi[i*prime[j]] = phi[i] * (prime[j]-1);
}
}
}

这个板子应该够用了不然我就吃ckr

Mobius反演公式

复杂的单题写题解吧.