一个经典问题


\[
\sum_{k=1}^n\mathbb{lcm}(k,n)
\]

一般的做法是使用\(\varphi(n)\)函数。

不经典的做法

\[
\begin{align*}
\sum_{k=1}^n\mathbb{lcm}(k,n)
&=\sum_{k=1}^n\frac{nk}{\gcd(n,k)}\tag{gcd与lcm的关系}\\
&=\sum_{d|n}\sum_{k=1}^{n/d}\frac{ndk}{d}[\gcd(n,dk)=d]\tag{枚举gcd(n,k)}\\
&=\sum_{d|n}\sum_{k=1}^{n/d}nk[\gcd(\frac{n}{d},k)=1]\tag{同消去d}\\
&=n\sum_{d|n}\sum_{k=1}^dk[\gcd(d,k)=1]\tag{用d代替n/d}\\
&=n\sum_{d|n}\sum_{k=1}^dk\sum_{j|gcd(d,k)}\mu(j)\tag{莫比乌斯函数的性质}\\
&=n\sum_{j|n}\mu(j)\sum_{d|n/j}\sum_{k=1}^djk\tag{交换求和次序}\\
&=n\sum_{j|n}\mu(j)j\sum_{d|n/j}\frac{d(d+1)}{2}\tag{等差数列求和公式}\\
&=\frac{n}{2}\left(\sum_{j|n}\mu(j)j\sum_{d|n/j}d^2+\sum_{j|n}\mu(j)j\sum_{d|n/j}d\right)\tag{拆分}\\
&=\frac{n}{2}(f(n)+g(n))\tag{设元}\\
\end{align*}
\]

计算\(f(n)\)

考虑
\[
f(n)=\sum_{j|n}\mu(j)j\sum_{d|n/j}d^2
\]
易证\(\mu(j)j\)和\(\sum\limits_{d|n}d^2\)都是积性函数。

则\(f(n)\)为积性函数\(\mu(j)j\)和\(\sum\limits_{d|n}d^2\)的狄利克雷卷积,可得\(f(n)\)为积性函数。

则\(f(n)\)可用欧拉筛法求出如下:
\[
\begin{align*}
f(p^k)
&=\mu(1)\sum_{d=0}^k(p^d)^2+\mu(p)p\sum_{d=0}^{k-1}(p^d)^2\tag{莫比乌斯函数的性质}\\
&=\sum_{d=0}^kp^{2d}-\sum_{d=0}^{k-1}p^{2d+1}\tag{整理}\\
&=\sum_{d=0}^{2k}(-p)^k\tag{合并}\\
&=\frac{1-(-p)^{2k+1}}{1+p}\tag{等比数列求和公式}\\
&=\frac{1+p^{2k+1}}{1+p}\tag{整理}\\
\end{align*}
\]

再维护一个最小质因数的次数\(p^k\)即可。

计算\(g(n)\)

考虑
\[
g(n)=\sum_{j|n}\mu(j)j\sum_{d|n/j}d
\]
同上,可得\(g(n)\)为积性函数。

则\(g(n)\)可

用欧拉筛法求出如下:
\[
\begin{align*}
g(p^k)
&=\mu(1)\sum_{d=0}^kj^d+\mu(p)p\sum_{d=0}^{k-1}j^d\tag{莫比乌斯函数的性质}\\
&=\sum_{d=0}^kj^d-\sum_{d=1}^{k}j^d\tag{整理}\\
&=1\tag{展开}\\
\end{align*}
\]
我们可以惊讶地发现\(g(n)\)恒等于\(1\)!

总结

则我们可以每次\(O(1)\)地求出
\[
\sum_{k=1}^n\mathbb{lcm}(k,n)=\frac{n}{2}(f(n)+1)
\]

莫比乌斯反演求LCM的另一种做法的更多相关文章

  1. bzoj 2154 莫比乌斯反演求lcm的和

    题目大意: 表格中每一个位置(i,j)填的值是lcm(i,j) , 求n*m的表格值有多大 论文贾志鹏线性筛中过程讲的很好 最后的逆元我利用的是欧拉定理求解的 我这个最后线性扫了一遍,勉强过了,效率不 ...

  2. (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)

    莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...

  3. BZOJ 3930 Luogu P3172 选数 (莫比乌斯反演)

    手动博客搬家:本文发表于20180310 11:46:11, 原地址https://blog.csdn.net/suncongbo/article/details/79506484 题目链接: (Lu ...

  4. ZOJ 3435 Ideal Puzzle Bobble 莫比乌斯反演

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4119 依然是三维空间内求(1,1,1)~(a,b,c)能看到的整点数,平移一下 ...

  5. 【JZOJ3623】【SDOI2014】数表(table) 树状数组+离线+莫比乌斯反演

    题面 100 \[ Ans=\sum_{i=1}^n\sum_{j=1}^mg(gcd(i,j)) \] 其中, \[ g(d)=\sum_{i|d}i \] 我们注意到\(gcd(i,j)\)最多有 ...

  6. 树上莫比乌斯反演+分层图并查集——cf990G

    /* 树上莫比乌斯反演 求树上 满足 d|gcd(au,av) gcd(au,av)的对数f(d) 如何求: 建立200000层新图,即对于每个数建立一个新图 在加边时,给gcd(au,av)的约数层 ...

  7. 【容斥原理,莫比乌斯反演】用容斥替代莫比乌斯反演第二种形式解决gcd统计问题

    名字虽然很长.但是其实很简单,对于这一类问题基本上就是看你能不能把统计的公式搞出来(这时候需要一个会推公式的队友) 来源于某次cf的一道题,盼望上紫的我让潘学姐帮我代打一道题,她看了看跟我说了题解,用 ...

  8. 【bzoj2694】Lcm 莫比乌斯反演+线性筛

    题目描述 求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m|\mu(gcd(i,j))|lcm(i,j)$,即$gcd(i,j)$不存在平方因子的$lcm(i,j)$之 ...

  9. BZOJ 2694: Lcm 莫比乌斯反演 + 积性函数 + 线性筛 + 卡常

    求 $\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)\mu(gcd(i,j))^2$   $\Rightarrow \sum_{d=1}^{n}\mu(d)^2\sum_{i ...

随机推荐

  1. WAMP 403 Forbidden禁止访问,别的电脑访问不了;

    直接上图: 1:修改httpd.conf; deny from all 改成------ allow from all 重启服务就好了: 2:如果搜不到deny from all 就按照下面的方法来 ...

  2. biiset用法

    C++ bitset--高端压位卡常题必备STL 以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力. bitset存储二进制数位. bitset就像一个bool类型的数组一样,但是有 ...

  3. 64位内核开发第二讲.内核编程注意事项,以及UNICODE_STRING

    目录 一丶驱动是如何运行的 1.服务注册驱动 二丶Ring3跟Ring0通讯的几种方式 1.IOCTRL_CODE 控制代码的几种IO 2.非控制 缓冲区的三种方式. 三丶Ring3跟Ring0开发区 ...

  4. 解释下Http协议

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只 ...

  5. JetBrains CLion 2019 for Mac(智能C和C++编辑器)中英文如何切换完整教程

    右键显示包内容,进入目录,contents/lib,删除resources_zh.jar,重启即可. 参考: https://blog.csdn.net/qq_45179462/article/det ...

  6. [代码审计]四个实例递进php反序列化漏洞理解【转载】

    原作者:大方子 原文链接:https://blog.csdn.net/nzjdsds/article/details/82703639 0x01 索引 最近在总结php序列化相关的知识,看了好多前辈师 ...

  7. docker-machine 远程安装docker

    base=https://github.com/docker/machine/releases/download/v0.14.0 && curl -L $base/docker-mac ...

  8. ICEM-带把圆环

    原视频下载地址:https://pan.baidu.com/s/1pKSXyR5 密码: dynm

  9. H5注意点(1)

    H1标签在企业开发中,每一个页面至多只能有一个H1标签,被H1标签包裹的是整个页面最重要的信息. img标签,格式:<img src=" ">,当中src就是用来告诉i ...

  10. Assignment2:因果图法的介绍与示例分析

    一. 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试.几种常用的黑盒测试方法和黑盒测试工具有,等价类划分法.边界值分析法.因果图法.决策表 ...