• 最大公约数之和


    本文主要讲一下最大公约数的和的推导过程(因为其太过经典,其实是博主老忘)。

    原式:

    \[\sum_{i = 1}^n\sum_{j = 1}^n\gcd(i, j) \]

    莫比乌斯反演经典入门题。

    话不多说,进入正文。

    \[\begin{aligned} & \sum\limits_{i = 1}^n\sum\limits_{j = 1}^ngcd(i, j) \\ =& \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^n\sum\limits_{j = 1}^n[gcd(i, j) = k] \\ =& \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{j = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}[gcd(i, j) = 1] \\ =& \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{j = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\epsilon(gcd(i, j)) \end{aligned} \]

    根据 \(\epsilon = \mu * I\),即 \(\epsilon(n) = \sum\limits_{d | n}\mu(d)\),得:

    \[\sum\limits_{k = 1}^nk\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{j = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{d | (i, j)}\mu(d) \]

    我们先考虑这样一个式子如何化简:

    \[\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{d | i}\mu(d) \]

    把枚举 \(i\) 改成枚举 \(d\)\(\left\lfloor\dfrac{n}{k}\right\rfloor\) 以内是 \(d\) 的倍数的数有 \(\left\lfloor\dfrac{n}{dk}\right\rfloor\) 个,得:

    \[\sum\limits_{d = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\left\lfloor\dfrac{n}{dk}\right\rfloor\mu(d) \]

    我们先枚举 \(d\),并把这个式子代入到刚才我们化简得那个式子中去:

    \[\begin{aligned} & \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{j = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{d | (i, j)}\mu(d) \\ =& \sum\limits_{k = 1}^nk\sum\limits_{d = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\left\lfloor\dfrac{n}{dk}\right\rfloor^2\mu(d) \end{aligned} \]

    再令 \(T = dk\),并枚举 \(T\) (其实下面的式子和上面的式子里 \(d\)\(k\) 反过来了,不过我懒得改了 QwQ):

    \[\sum_{T = 1}^n\sum_{d \mid T}d\mu(\frac Td)\lfloor\frac nT\rfloor^2 \]

    至此,就已经是一般形式了,这个可以用整除分块快速求解。

    但是,这道题还没有完,还可以进一步转化。

    我们知道 \(\varphi = \mu * id\),正好式子里存在!所以:

    \[\sum_{T = 1}^n\varphi(T)\lfloor\frac nT\rfloor^2 \]

    现在,这道题才算是真正结束了(感觉一下子式子里啥都没了 QwQ)

    \[\_EOF\_ \]

  • 相关阅读:
    margin折叠及hasLayout && Block Formatting Contexts
    视口(viewport)原理详解之第二部分(移动端浏览器)
    Git & SSH
    .NET Core 3.0 System.Text.Json 和 Newtonsoft.Json 行为不一致问题及解决办法
    阿里云函数计算 .NET Core 初体验
    Oracle PLSQL 存储过程无法进入单步调试
    解释器错误:没有那个文件或目录
    不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。
    Oracle 11G R2 安装图解
    Oracle UTL_HTTP
  • 原文地址:https://www.cnblogs.com/xixike/p/15713088.html
Copyright © 2020-2023  润新知