• [国家集训队 2012]JZPKIL


    [国家集训队 2012]JZPKIL

    多次查询,每次给定 (n,x,y),求:

    [sum_{i=1}^n gcd(i,n)^x extrm{lcm}(i,n)^y pmod {10^9+7} ]

    • (Tle 100,1le nle 10^{18},x,yle 3000)

    ( m Sol:)

    答案是:

    [sum_{i=1}^n i^ycdot n^ygcd(i,n)^{x-y} ]

    枚举 (gcd=d),忽略 (n^y) 则有:

    [egin{aligned} &sum_{d|n} d^xsum_{j=1}^{frac{n}{d}}[gcd(j,frac{n}{d})=1]j^{y} \&=sum_{d|n} d^xsum_{j=1}^{n/d}sum_{k|j,k|frac{n}{d}} mu(k)j^y \&=sum_{d|n} d^xsum_{k|frac{n}{d}}mu(k) sum_{k|j} j^y \&=sum_{d|n} d^xsum_{k|frac{n}{d}}mu(k)k^y sum_{j=1}^{n/(kd)} j^y \&=sum_{d|n} d^x sum_{k|frac{n}{d}}mu(k)k^y S_y(frac{n}{kd}) end{aligned}]

    我们将 (S_y(frac{n}{kd})) 视为关于其的 (y+1) 次多项式,那么此处有:

    [egin{aligned} &sum_{d|n} d^x sum_{k|frac{n}{d}}mu(k)k^y sum_{i=0}^{y+1}f_i (frac{n}{kd})^i \&=sum_{i=0}^{y+1}f_isum_{d|n} d^x sum_{k|frac{n}{d}}mu(k)k^y(frac{n}{kd})^i end{aligned}]

    注意到后者可以视为 (f,g,h) 的迪利克雷卷积,令 (f(d)=d^x,g(d)=mu(d)d^y,h^c(d)=d^c),这个卷积满足分配律和交换律以及结合律,同时满足积性律,注意到三者均为积性函数,所以卷积结果也是积性函数。

    设结果为 ((x)),于是我们所求为 ((n)),那么显然有:

    1. ((1)=1)
    2. ((p)=p^x+p^c-p^y)
    3. ((p^k)=fcdot h^c(p^k)-fcdot h^c(p^{k-1}) imes p^y)

    于是只需要考虑 (fcdot h^c(p^k)),其为:

    [sum_{i+j=k} f(p^i)cdot h^c(p^j) ]

    所以通过 MR 进行暴力质因数分解,然后我们 (mathcal O(log n)) 的枚举每个质因子(include 次幂)然后暴力卷积并计算答案即可。

    还有一个问题,如何计算自然数幂的和的多项式?

    自然数幂和多项式

    构造多项式 (G_n(x)=frac{e^{nx}-1}{1-e^{-x}}),一堆神仙分析可以得到 (G_n(x)[x^k]) 就是 (sum_{i=1}^n i^k)(其实应该是根据 (G_n(x)[x^k])(sum_{i=1}^n i^k) 推出 (G_n(x)) 的表达式的...)

    (G_n(x)) 裂项成 (frac{xe^x}{e^x-1} imes frac{e^{nx}-1}{x}),前者的 EGF 序列记为 ({B_0,B_1,B_2...}),后者显然是 EGF 序列 ({frac{n}{1},frac{n^2}{2},frac{n^3}{3}...})

    所以我们会发现其实有 (G_n(x)[x^k]) 是这两个数列的二项卷积的结果,所以有:

    [egin{aligned} &G_n[x^k]=sum_{i+j=k} B_i frac{n^{j+1}}{j+1}inom{k}{i} \&= frac{1}{k+1}sum_{i=0}^{k} B_i inom{k+1}{i}n^{k-i+1} end{aligned}]

    换而言之如果能够得到伯努利数那么就可以知道自然数幂和多项式

    然后只需要递推伯努利数即可。

    注意到 (frac{xe^x}{e^x-1} imes frac{e^x-1}{x}=e^x) 所以 (mathbf{EGF}{B_0,B_1...} imes mathbf{EGF}{frac{1}{1},frac{1}{2}...}=mathbf{EGF}{1,1,1...})

    所以有:

    [egin{aligned} &sum_{i+j=k} B_i imes frac{1}{j+1} imes inom{k}{i}=1 \& sum_{i}^k B_i imesinom{k+1}{i}=k+1 end{aligned}]

    于是得到 (B_k=1-sum_{i<k} frac{B_i}{k+1}inom{k+1}{i})

    综上,本题复杂度为 (mathcal O(Tcdot (n^{frac{1}{4}}log n+ylog^3 n)+y^2))

  • 相关阅读:
    Java 构造方法总结
    Intellij IDEA使用总结
    阿里巴巴Java开发手册
    灰度发布策略
    php redis 命令合集
    php redis 常用方法
    php excel 设置单元格格式为文本格式
    php curl get post 方法的封装
    PHP 判断手机号归属地 和 运营商的免费接口
    lnmp centos7 memcache服务器端 和 memcache memcached扩展的安装
  • 原文地址:https://www.cnblogs.com/Soulist/p/13656516.html
Copyright © 2020-2023  润新知