zoukankan      html  css  js  c++  java
  • 数论学习笔记

    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)
    $$

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

  • 相关阅读:
    linux & xp 双系统 重装的问题
    判断推理类试题的复言命题考点与题型总结
    Oracle、MySQL、SQL Server数据库的数据类型的差异
    java环境变量设置和问题及解决方法
    如何正确卸载MySQL,主要是删除注册表中的垃圾信息
    J2EE经典面试题及答案
    正则表达式
    囚犯的两难处境
    MySQL 数值数据类型
    linux学习之SHELL脚本
  • 原文地址:https://www.cnblogs.com/SmallPillow/p/12814982.html
Copyright © 2011-2022 走看看