1 条题解

  • 0
    @ 2025-8-24 23:11:07

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar VinstaG173
    Si Dieu n'existait pas, il faudrait l'inventer.

    搬运于2025-08-24 23:11:07,当前版本为作者最后更新于2024-12-20 14:37:12,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    简单推式子题,预估难度弱省省选。

    本文中时间复杂度 O(f0)O(f1)O(f^0)-O(f^1) 表示预处理复杂度 O(f0)O(f^0),单次询问复杂度 O(f1)O(f^1)

    首先由 Min-max 容斥有

    $$\operatorname{lcm}(x_1,x_2,\dots,x_n)=\prod_{S\subseteq\{1,2,\dots,n\},S \neq \varnothing}\gcd\{x_i : i \in S\}^{(-1)^{\lvert S \rvert-1}}. $$

    事实上这个式子由 gcd(a,b)lcm(a,b)\gcd(a,b)\operatorname{lcm}(a,b) 随便算两下就出来了,不用熟知 Min-max 容斥。

    由 Fibonacci 数的性质 gcd(fa,fb)=fgcd(a,b)\gcd(f_a,f_b)=f_{\gcd(a,b)},因此

    $$\begin{aligned} \prod_{a_1=1}^{m}\prod_{a_2=1}^{m}\cdots\prod_{a_n=1}^{m}\operatorname{lcm}(f_{a_1},f_{a_2},\dots,f_{a_n})&=\prod_{a_1=1}^{m}\prod_{a_2=1}^{m}\cdots\prod_{a_n=1}^{m}\prod_{S\subseteq\{1,2,\dots,n\},S \neq \varnothing}f_{\gcd\{a_i : i \in S\}}^{(-1)^{\lvert S \rvert-1}}\\ &=\prod_{d=1}^{m}f_d^{\sum\limits_{a_1=1}^{m}\sum\limits_{a_2=1}^{m}\cdots\sum\limits_{a_n=1}^{m}\sum\limits_{S\subseteq\{1,2,\dots,n\},S \neq \varnothing}(-1)^{\lvert S \rvert-1}[\gcd\{a_i : i \in S\}=d]}\\ &=\prod_{d=1}^{m}f_d^{\sum\limits_{k=1}^{n}(-1)^{k-1}\binom{n}{k}m^{n-k}\sum\limits_{a_1=1}^{m}\sum\limits_{a_2=1}^{m}\cdots\sum\limits_{a_k=1}^{m}[\gcd(a_1,a_2,\dots,a_k)=d]}\\ &=\prod_{d=1}^{m}f_d^{\sum\limits_{k=1}^{n}(-1)^{k-1}\binom{n}{k}m^{n-k}\sum\limits_{a_1=1}^{\left\lfloor\frac{m}{d}\right\rfloor}\sum\limits_{a_2=1}^{\left\lfloor\frac{m}{d}\right\rfloor}\cdots\sum\limits_{a_k=1}^{\left\lfloor\frac{m}{d}\right\rfloor}[\gcd(a_1,a_2,\dots,a_k)=1]}\\ &=\prod_{d=1}^{m}f_d^{\sum\limits_{k=1}^{n}(-1)^{k-1}\binom{n}{k}m^{n-k}\sum\limits_{a_1=1}^{\left\lfloor\frac{m}{d}\right\rfloor}\sum\limits_{a_2=1}^{\left\lfloor\frac{m}{d}\right\rfloor}\cdots\sum\limits_{a_k=1}^{\left\lfloor\frac{m}{d}\right\rfloor}\sum\limits_{t \mid \gcd(a_1,a_2,\dots,a_k)}\mu(t)}\\ &=\prod_{d=1}^{m}f_d^{\sum\limits_{k=1}^{n}(-1)^{k-1}\binom{n}{k}m^{n-k}\sum\limits_{t=1}^{\left\lfloor\frac{m}{d}\right\rfloor}\mu(t)\left\lfloor\frac{m}{dt}\right\rfloor^{k}}\\ &=\prod_{d=1}^{m}\prod_{t=1}^{\left\lfloor\frac{m}{d}\right\rfloor}f_d^{\mu(t)\sum\limits_{k=1}^{n}(-1)^{k-1}\binom{n}{k}m^{n-k}\left\lfloor\frac{m}{dt}\right\rfloor^{k}}\\ &=\prod_{D=1}^{m}\left(\prod_{d \mid D}f_d^{\mu\left(\frac{D}{d}\right)}\right)^{m^n-\left(m-\left\lfloor\frac{m}{D}\right\rfloor\right)^n}\\ &=\prod_{D=1}^{m}F(D)^{G\left(\left\lfloor\frac{m}{D}\right\rfloor\right)}, \end{aligned}$$

    其中

    $$F(D)=\prod_{d \mid D}f_d^{\mu\left(\frac{D}{d}\right)},G(k)=m^n-\left(m-k\right)^n. $$

    直接朴素预处理 FF,暴力计算可以做到时间复杂度 O(mlogm)O(mlogn)O(m\log m)-O(m\log n)

    为了优化,可以用整除分块处理上式。我们可以在 O(logn)O(\log{n}) 的时间复杂度下计算 G()G(\cdot),现在我们考虑较快速计算 F(D)F(D)

    由于

    $$\prod_{i=1}^{D}F(i)=\prod_{d=1}^{D}f_d^{\sum\limits_{i=1}^{\left\lfloor\frac{D}{d}\right\rfloor}\mu(i)}, $$

    我们可以线性预处理 Fibonacci 数列前缀积和 μ()\mu(\cdot) 前缀和后用整除分块在 O(DlogD)O(\sqrt{D}\log{D}) 的时间复杂度下计算上式。时间复杂度 O(m)O(m34logn)O(m)-O(m^{\frac{3}{4}}\log{n})

    注意到模数不大,线性预处理出逆元,利用类似 Dirichlet 前缀和的方法计算卷积预处理出 F()F(\cdot),同时用 Euler 定理优化计算 knk^n,即可做到 O(mod+mloglogm)O(mlogmod)O(mod+m\log{\log{m}})-O(\sqrt{m}\log{mod}),空间复杂度 O(mod+m)O(mod+m)


    以上做法已经足够通过本题,但其实不考虑多组询问我们还可以做到更优。以下做法由验题人 wkywkywky 提出。

    注意刚才的式子

    $$\prod_{i=1}^{D}F(i)=\prod_{d=1}^{D}f_d^{\sum\limits_{i=1}^{\left\lfloor\frac{D}{d}\right\rfloor}\mu(i)}, $$

    我们只需要求出 F,fF,fμ\mu 的块筛。其中 μ\mu 函数前缀和可以用杜教筛做到 O(v)O(mv)O(v)-O(\frac{m}{\sqrt{v}})ff 数列前缀积可以用这道题的方法,O(V+WlogW)O(V+W\log W) 预处理,且对于 m/i>Vm/i>V,做到 O(m/W)O(m/W) 单次查询。

    在处理出 ffμ\mu 的基础上,预处理 FF 的前缀积到 O(w)O(w),可以做到 O(wloglogwlogmod)O(mwlogmod)O(w\log\log w\log mod)-O(\frac m{\sqrt w}\log mod)。平衡复杂度取 v,V,w=O((mpolylog)2/3)v,V,w=O((m\operatorname{polylog})^{2/3}),总复杂度约为 O((mpolylog)2/3)O((m\operatorname{polylog})^{2/3}),可能常数较大,瓶颈主要在 FF 的计算过程中的 logmod\log modμ,f,F\mu,f,F 三部分的 log\log 次数大约分别为 0,13,1+0,\frac13,1^+

    • 1

    信息

    ID
    10962
    时间
    3000ms
    内存
    512MiB
    难度
    6
    标签
    递交数
    0
    已通过
    0
    上传者