zoukankan      html  css  js  c++  java
  • bzoj4176-Lucas的数论

    题意

    [sum _{i=1}^nsum _{j=1}^nsigma (ij) ]

    其中 (sigma(x)) 为约数个数函数。

    (nle 10^9)

    分析

    拆开咯

    [egin{aligned} sum _{i=1}^nsum _{j=1}^nsigma (ij)&=sum _{i=1}^nsum _{j=1}^nsum _{d|ij}1 \ &=sum _{i=1}^nsum _{j=1}^nsum _{frac{d}{gcd(d,i)}|j}1 \ &=sum _{i=1}^nsum _{j=1}^nsum _{e|i}sum _{a=1}^{lfloorfrac{n^2}{e} floor}[a|j][gcd(a,frac{i}{e})=1] \ &=sum _{i=1}^nsum _{j=1}^nsum _{e|i}sum _{a|j}[gcd(a,e)=1] \ &=sum _{i=1}^nsum _{j=1}^nsum _{e|i}sum _{a|j}sum _{d|a,d|e}mu (d) \ &=sum _{d=1}^nmu (d)sum _{e=1}^{lfloorfrac{n}{d} floor}sum _{e|i}sum _{a=1}^{lfloorfrac{n}{d} floor}sum _{a|j} \ &=sum _{d=1}^nmu (d)(sum _{e=1}^{lfloorfrac{n}{d} floor}lfloorfrac{n}{de} floor)^2 end{aligned} ]

    (f(m)=sum _{i=1}^mlfloorfrac{m}{i} floor) ,那么

    [sum _{i=1}^nsum _{j=1}^nsigma (ij)=sum _{d=1}^nmu (d)f(lfloorfrac{n}{d} floor)^2 ]

    前面的 (mu) 用杜教筛,后面的 (f) 直接计算,复杂度为

    [int _0^sqrt n (sqrt x+sqrtfrac{n}{x})dx=n^frac{3}{4} ]

    杜教筛中访问的都是 (frac{n}{x}) 的形式,所以复杂度相当于一次杜教筛,也是 (n^frac{3}{4}) (或预处理后的 (n^frac{2}{3}) )。

    数论题在推的时候一定要注意,枚举完之后看看是否有一些 (gcd) 的限制,比如说上面枚举 (a) 的时候,之前就没有注意到,导致推出来一个错误的结果。

    回到上面推导过程中的第四行,我们实际上推出了一个形式优美的等式:

    [sum _{i=1}^nsum _{j=1}^nsigma (ij)=sum _{i=1}^nsum _{j=1}^nlfloorfrac{n}{i} floorlfloorfrac{n}{j} floor [gcd(i,j)=1] ]

    观察推导过程,就能发现这个式子是可以拓展的:

    [sum _{a_1}sum _{a_2}sum _{a_3}cdotssigma(prod a_i)=sum _{a_1}lfloorfrac{n}{a_1} floorsum _{a_2}lfloorfrac{n}{a_2} floorsum _{a_3}lfloorfrac{n}{a_3} floorcdots [两两gcd 均为1] ]

    推到最后就是 (f) 上面的指数发生变化。

    很有趣的结论呢!

  • 相关阅读:
    Ubuntu18.04, WPS表格生成中文大写数字的script
    Java实现的简单神经网络(基于Sigmoid激活函数)
    Naive Bayes Classifier 朴素贝叶斯分类器
    动态规划处理diff算法 Myers Diff (正向)
    动态规划处理01背包问题
    文本diff算法Patience Diff
    API返回错误信息的最佳实践
    CAP理论中, P(partition tolerance, 分区容错性)的合理解释
    mysql: SELECT ... FOR UPDATE 对SELECT语句的阻塞实验
    Probability&Statistics 概率论与数理统计(1)
  • 原文地址:https://www.cnblogs.com/owenyu/p/7396447.html
Copyright © 2011-2022 走看看