• 莫比乌斯反演欧拉函数杜教筛大总结


    莫比乌斯函数

    定义

    (n=prod_{i=1}^{k} p_i^{c_i}),则(mu(n)=(-1)^k),特别地(mu(1)=1)

    性质

    最常用性质

    (sum_{d|n}mu(d)=[n=1])

    反演性质

    (F(n)=sum_{d|n}f(d) Longleftrightarrow f(n)=sum_{d|n}F(d)mu(frac{n}{d}))

    (F(n)=sum_{n|d}f(d) Longleftrightarrow f(n)=sum_{n|d}F(d)mu(frac{d}{n}))

    常用性质

    (sum_{i=1}^{n}sum_{j=1}^{n}[gcd(i,j)=1]=sum_{d=1}^{n}mu(d)lfloorfrac{n}{d} floor lfloorfrac{n}{d} floor)

    欧拉函数

    定义

    (n=prod_{i=1}^{k}p_i^{c_i}),有(phi(n)=nprod_{i=1}^{k}frac{p_i-1}{p_i})

    性质

    最常用性质

    (sum_{d|n}phi(d)=n)

    零零散散的一些性质(没收集完)

    (phi(ab)=frac{phi(a)phi(b)gcd(a,b)}{phi(gcd(a,b))})

    与莫比乌斯函数的联系

    $frac{phi(n)}{n}=sum_{d|n}frac{mu(d)}{d} Longleftrightarrow phi(n)=sum_{d|n}mu(d)frac{n}{d}=sum_{d|n}mu(frac{n}{d})d $

    杜教筛

    思路

    狄利克雷卷积

    两函数(f,g)的狄利克雷卷积((f*g))定义如下:

    ((f*g)(i)=sum_{d|i}f(d)g(frac{i}{d}))

    函数前缀和

    (S(n)=sum_{i=1}^{n}f(i))

    (sum_{i=1}^{n}(f*g)(i)\=sum_{i=1}^{n}sum_{d|i}g(d)f(frac{i}{d})\=sum_{d=1}^{n}g(d)sum_{i=1}^{lfloor frac{n}{d} floor }f(i)\=sum_{d=1}^{n}g(d)S(lfloor frac{n}{d} floor ))

    移项得:

    (g(1)S(n)=sum_{i=1}^{n}(f*g)(i)-sum_{d=2}^{n}g(d)S(lfloor frac{n}{d} floor ))

    于是可以递归求解。

    莫比乌斯函数前缀和

    (f(i)=mu(i),g(i)=1),有:

    (sum_{i=1}^{n}(f*g)(i)\=sum_{i=1}^{n}sum_{d|i}g(d)f(frac{i}{d})\=sum_{i=1}^{n}sum_{d|i}mu(frac{i}{d})\=sum_{i=1}^{n}[i=1]\=1)

    所以(S(n)=1-sum_{d=2}^{n}g(d)S(lfloor frac{n}{d} floor ))

    欧拉函数前缀和

    (f(i)=phi(i),g(i)=1),有:

    (sum_{i=1}^{n}(f*g)(i)\=sum_{i=1}^{n}sum_{d|i}g(d)f(frac{i}{d})\=sum_{i=1}^{n}sum_{d|i}phi(frac{i}{d})\=sum_{i=1}^{n}i\=frac{n(n+1)}{2})

    所以(S(n)=frac{n(n+1)}{2}-sum_{d=2}^{n}g(d)S(lfloor frac{n}{d} floor ))

    其他一些函数的前缀和

    (f(i)=mu(i)*i),则(g(i)=i)

    (sum_{i=1}^{n}(f*g)(i)\=sum_{i=1}^{n}sum_{d|i}g(d)f(frac{i}{d})\=sum_{i=1}^{n}sum_{d|i}d*frac{i}{d}*mu(frac{i}{d})\=sum_{i=1}^{n}isum_{d|i}mu(frac{i}{d})\=sum_{i=1}^{n}[i=1]\=1)

    所以(S(n)=1 - sum_{d=2}^{n}g(d)S(lfloor frac{n}{d} floor ))

    留个大坑先。。。。。

  • 相关阅读:
    并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
    RabbitMQ官方文档翻译之Remote procedure call(六)
    RabbitMQ官方文档翻译之Topics(五)
    数据库调优教程(八) 什么情况下不要使用索引
    数据库调优教程(七)索引的代价
    数据库调优教程(六) 索引的相关操作
    数据库调优教程(五) 索引的作用和索引的种类
    数据库调优教程(四)Explain性能分析命令
    数据库调优教程(三)记录慢查询
    数据库调优教程(二)慢查询数据准备
  • 原文地址:https://www.cnblogs.com/zjlcnblogs/p/12010303.html
Copyright © 2020-2023  润新知