一个经典问题


\[
\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. Cogs 1708. 斐波那契平方和(矩阵乘法)

    斐波那契平方和 ★★☆ 输入文件:fibsqr.in 输出文件:fibsqr.out 简单对比 时间限制:0.5 s 内存限制:128 MB [题目描述] ,对 1000000007 取模.F0=0, ...

  2. codevs 1683 车厢重组

    1683 车厢重组  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 白银 Silver   题目描述 Description 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥 ...

  3. 16、job触发流程原理剖析与源码分析

    一.以Wordcount为例来分析 1.Wordcount val lines = sc.textFile() val words = lines.flatMap(line => line.sp ...

  4. 推荐VSCode多语言开发,支持一键JAVA

    本文梯子 缘起 一.VSCode 开发 NetCore 0.安装 VSCode IDE 1.安装依赖扩展 2.新建一个项目 3.打开已有工程 4.总结 二.VSCode 开发 Vue 1.安装插件 2 ...

  5. P5049 旅行(数据加强版)(基环树)

    做法 把环找出来,如果在环上(u,v)两点的时候,u的其他子树都走完了,v上第一个还有除v存在的子树没走完的 祖先,祖先的最小子节点小于v,则回去 Code #include<bits/stdc ...

  6. Linux 文件查询

    查看文件类型:file 如果你想要知道某个文件的基本数据,例如是属于ASCII或者是data文件,或者是binary,且其中有没有使用到动态函数库等等的信息,可以用file查看 which (寻找“执 ...

  7. laravel 通过ftp上传的时候报错 Use of undefined constant FTP_BINARY - assumed 'FTP_BINARY

    用Laravel中的filesystems里面的ftp上传文件时报错.在windows上开发,文件上传的时候碰到上面的问题,搜了些资料,发现是php7的ftp拓展默认未开启. filesystems是 ...

  8. orchestrator的安装和配置

    介绍 在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:O ...

  9. TP5 分页数据加锚点

      TP5 分页数据加锚点跳转到相应位置   有这样一个需求,就是加载评论后,点下一页的时候回到相应的位置.  $comment = Db('comment')->order('addtime' ...

  10. 【转】IDEA新建项目时,没有Spring Initializr选项(亲测有效)

    最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot.看着博客来进行操作上手spring boot,很多都是说创建一个新项目(Create New Project) 选择 ...