数论专题(2)莫比乌斯反演

news2025/3/1 14:53:39

今天我们开始莫比乌斯反演的学习.这篇博文特别多的公式,强迫症患者请勿观看

莫比乌斯反演

莫比乌斯函数:

定义莫比乌斯函数\mu (n),当n=1时,\mu (n)=1.

n是square-free number时,设n的质因数分解有k项,则\mu (n)=(-1)^{k};

否则,\mu (n)=0;

根据上面,我们不难验证\mu也是积性函数

定理

I=\mu *1,即\mui互为彼此的逆

证明

设n的不同质因子有k个,分别为p_{1}......p_{k},那么有

                                       \sum_{d|n}^{}\mu (d)=\sum_{i=1}^{k}\sum_{k->i,ji=c}^{}\mu (c)=\sum_{i=1}^{k}\sum_{k->i}^{}(-1)^{i}

                                ​​​​​​​        =\sum_{i=1}^{k}\binom{k}{i}(-1)^{i}=(1-1)^{k}=[k=0]=I(n)

莫比乌斯反演

定义

莫比乌斯变换:设数论函数f,称F=f*1为莫比乌斯变换.

莫比乌斯反演:设数论函数F,称f=F*\mu为莫比乌斯反演.

例如:

d=1*1,即d*\mu =1;   

Id=\varphi *1,即Id*\mu =\varphi;

练习

接下来,我们根据上篇博文的知识和莫比乌斯反演来做几道题:

给出n,m,求\sum_{i=1}^{n}\sum_{j=1}^{m}gcd(i,j)-nm

我们之前学欧拉函数的时候,能求\sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j),但是当n\neq m的时候,就不能再用欧拉函数求了.

还是之前的套路:

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

不妨设a=\left \lfloor \frac{n}{k} \right \rfloor,b=\left \lfloor \frac{m}{k} \right \rfloor,继续推:

                        ​​​​​​​​​​​​​​\sum_{j=1}^{n}\sum_{j=1}^{m}gcd(i,j)=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{a}\sum_{j=1}^{b}[gcd(i,j)=1]

                         \sum_{k=1}^{min(n,m)}k\sum_{i=1}^{a}\sum_{j=1}^{b}[gcd(i,j)=1]=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{a}\sum_{j=1}^{b}I(gcd(i,j))

        ​​​​​​​        ​​​​​​​        =\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{a}\sum_{j=1}^{b}\sum_{d|gcd(i,j)}^{}\mu (d)=\sum_{k=1}^{min(n,m)}k\sum_{d=1}^{min(a,b)}\sum_{i=1}^{\left \lfloor \frac{a}{d} \right \rfloor}\sum_{j=1}^{\left \lfloor \frac{b}{d} \right \rfloor}\mu (d)

        ​​​​​​​        ​​​​​​​        =\sum_{k=1}^{min(n,m)}k\sum_{d=1}^{min(a,b)}\mu (d)\left \lfloor \frac{a}{d} \right \rfloor\left \lfloor \frac{b}{d} \right \rfloor​​​​​​​

此时用整数分块已经可以做到O(n\sqrt{n})的复杂度,足以解决此题.

for(int k=1;k<=min(n,m);k++){
    int a=n/k,b=m/k;
    long long sum=0;
    for(int l=1,r;l<=min(a,b);l=r+1){
        r=min(a/(a/l),b/(b/l));
        sum+=1ll*(smu[r]-smu[l-1])*(a/l)*(b/l);
    } 
    ans+=sum*k;
}

由答案的对称性,不妨设n\leq m,然后我们继续推:

        ​​​​​​​        ​​​​​​​        \sum_{k=1}^{n}k\sum_{d=1}^{a}\mu (d)\left \lfloor \frac{a}{d} \right \rfloor\left \lfloor \frac{b}{d} \right \rfloor=\sum_{k=1}^{n}k\sum_{d=1}^{\left \lfloor \frac{n}{k} \right \rfloor}\mu (d)\left \lfloor \frac{n}{kd} \right \rfloor\left \lfloor \frac{m}{kd} \right \rfloor(T=kd)=

        ​​​​​​​        ​​​​​​​        \sum_{T=1}^{n}\left \lfloor \frac{n}{T} \right \rfloor\left \lfloor \frac{m}{T} \right \rfloor\sum_{k|T}^{}k\mu (\frac{T}{k})

由于Id*\mu =\varphi,所以\sum_{k|T}k\mu (\frac{T}{k})=\varphi (T),那么最终答案就是\sum_{T=1}^{n}\left \lfloor \frac{n}{T} \right \rfloor\left \lfloor \frac{m}{T} \right \rfloor\varphi (T),这个式子在线性筛出\varphi及其前缀和的情况下,可以用整数分块做到O(\sqrt{n})一次回答(用于应对多组询问的情况).这样我们就可以得到一种O(n)-O(\sqrt{n})的算法.

接下来,我们在做一个例题:

给出n,m求\sum_{}^{}_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)\in P]

与前面的例题类似的推法,最后得到:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \sum_{T=1}^{n}\left \lfloor \frac{n}{T} \right \rfloor\left \lfloor \frac{m}{T} \right \rfloor\sum_{k|T,k\in P}^{}\mu (\frac{T}{k})

g(T)=\sum_{k|T,k\in P}\mu (\frac{T}{k}),看上去不是很好线性筛,不过可以用厄拉多塞筛法在O(n log log n)内算出前缀和,然后用整数分块回答询问.

好了,今天的内容到这里就结束了,感谢大家的收看(估计那么多公式也看不懂…)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/117825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4.防止数据权限越权

涉及的修改 这次提交内容很简单&#xff0c;就是在这些类的操作上&#xff0c;添加了 checkXxxDataScope()方法校验&#xff0c;下面来看下这个方法的实现 /*** 校验用户是否有数据权限* * param userId 用户id*/ Override public void checkUserDataScope(Long userId) {if (…

RMQ延迟队列

目录一、场景二、TTL和DLX三、开发步骤一、场景 “订单下单成功后&#xff0c;15分钟未支付自动取消” 1.传统处理超时订单 采取定时任务轮训数据库订单&#xff0c;并且批量处理。其弊端也是显而易见的&#xff1b;对服务器、数据库性会有很大的要求&#xff0c; 并且当处理大…

jeecg-boot前端实现表格插槽、定制化修改

大家好&#xff0c;我是雄雄。 前言 关于jeecg-boot&#xff0c;之前介绍过好多好多次&#xff0c;至于说这是个什么样的技术&#xff0c;这里不在详细介绍&#xff0c;大家可以在gitee或者百度上搜搜&#xff0c;大致了解一下。 因为是个开源的框架&#xff0c;所以一般小项目…

Unity 3D 创建简单的几何模型 || Unity 3D Assets 游戏资源目录管理

Unity 3D 创建简单的几何模型 Unity 3D 是一个强大的游戏开发引擎。在游戏开发中使用的模型常常是从外部导入的&#xff0c;Unity 3D 为了方便游戏开发者快速创建模型&#xff0c;提供了一些简单的几何模型&#xff0c;其中包括立方体、球体、圆柱体、胶囊体等。 自由物体创建…

单测在商家前端业务中的实践

1. 背景 商家系统是提供给得物商家在得物平台上可以稳定运营的服务抓手&#xff0c;前端代码也伴随着系统的发展而不断壮大。这样将导致文档却更新不及时&#xff0c;最后想再通过这些文档回溯业务逻辑也非常困难。 且若代码结构上没有关注&#xff0c;动辄就会产出一个大几千…

LFU 的设计与实现

LFU 的设计与实现 作者&#xff1a;Grey 原文地址&#xff1a; 博客园&#xff1a;LFU 的设计与实现 CSDN&#xff1a;LFU 的设计与实现 题目描述 LFU&#xff08;least frequently used&#xff09;。即最不经常使用页置换算法。 题目链接&#xff1a;LeetCode 460. LF…

浅析Linux字符设备驱动程序内核机制

前段时间在学习linux设备驱动的时候&#xff0c;看了陈学松著的《深入Linux设备驱动程序内核机制》一书。说实话&#xff0c;这是一本很好的书&#xff0c;作者不但给出了在设备驱动程序开发过程中的所需要的知识点&#xff08;如相应的函数和数据结构&#xff09;&#xff0c;…

从零开始的MySQL(2)

目录1.数据库约束1.1 unique1.2 not null1.3 default1.5 primary key1.6 foreign key2. 将A的记录插入到B中3.聚合函数3.1 count()函数3.2 sum()函数3.3 avg()函数3.4 max()函数3.5 MIN()函数3.6 group by4.联合查询4.1 内连接4.2 外连接4.3 自连接4.4 子连接1.数据库约束 约束…

【简单易上手】昇思MindSpore邀你定制专属Diffusion模型

昇思MindSpore首个可训练diffusion模型DDPM马上要和大家见面了&#xff0c;操作简单&#xff0c;可训练推理&#xff0c;单卡即可运行&#xff0c;欢迎广大产学研开发者使用启智社区免费Ascend NPU算力体验 最近爆火的AI绘图&#xff0c;相信大家并不陌生了。 从AI绘图软件生成…

知识图谱的知识表示:向量表示方法

目录 从词向量到实体向量 知识图谱向量表示学习模型 TransE TransH TransR TransD TransX系列总结 DisMult 从词向量到实体向量 知识图谱的向量表示。有一类词是代表实体的&#xff0c;假如对这类实体词的向量做一些计算&#xff0c;比如用Rome向量减去Italy的向量&am…

使用界面组件Telerik ThemeBuilder研发主题,只需要这七步!

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供最完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序。 ThemeBuilder是一个web应用程序&#xff0…

前端基础(一)_初识JavaScript

最开始的时候&#xff0c;浏览器只能显示文本和图片&#xff0c;并不能做各种动态的操作。 一、JavaScript的历史 1、网景公司的布兰登艾奇开发了js 2、借鉴了java的数据管理机制、c的函数 3、Js的创建是用来解决浏览器和用户之间互动的问题&#xff08;表单提交的问题&#…

LeanCloud 快速实现服务端

1. 实现与服务器交互平台 1.1 Google 平台的 Firebase (需要科学网络) Firebasehttps://firebase.google.cn/ 1.2 LeanCloud 平台 LeanCloudhttps://www.leancloud.cn/ 2. 配置信息 2.1 在 LeanCloud 控制台创建应用, 根据 SDK下载 开发指南配置应用 2.2 配置文件 build…

拉伯杠杆平台|新冠药龙头跳水,万亿产业开启新阶段!

依照此前发表的时间表&#xff0c;新修订的《体育法》将于2023年1月1日起正式施行。 12月27日早盘&#xff0c;A股前期大热的抗疫体裁呈现显着回落。熊去氧胆酸、新冠药、肝炎概念、新冠检测、生物疫苗等体裁跌幅较大。熊去氧胆酸、新冠药两大板块跌幅超过4%&#xff0c;抢手龙…

外贸采购管理对业务的影响及解决方案

在外贸企业中&#xff0c;采购环节的把控对整个业务环节都有影响。像是采购供应商是否能够按时到货&#xff0c;会直接影响生产进度&#xff1b;采购质量的好坏直接影响产品的生产进度及质量&#xff1b;采购成本的高低&#xff0c;直接影响产品的成本及利润&#xff1b;采购供…

NSUM 问题

目录标题两数之和两数之和 2&#xff08;多个结果集去重&#xff09;15. 三数之和两数之和 问题描述 给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。 你可以假设每种输入只会对应一个答…

基于Java(JSP)+MySQL实现(Web)学生成绩综合管理系统【100010065】

Java 课程设计:师生交流系统 1.1 课设题目 信息商务学院学生成绩综合管理系统的综合与开发 2.1 课设目的 《Java 程序设计》课程是计算机专业的一门专业必修课程&#xff0c;针对课程进行为期两周的实践教学&#xff0c;旨在提升本专业学生对此课程中的理论知识的综合应用能…

[Python学习系列] 走进Django框架

文章目录1. 安装django2. 创建项目&#xff08;命令的方式&#xff09;在第一次创建django项目需要做的&#xff1a;每一次创建django项目需要做的&#xff1a;3. 创建app4. 启动运行django项目程序5. 模板&静态文件的存放地址6. django中的模板语法7. django中常见的请求和…

ArcGIS基础实验操作100例--实验4矢量要素的镜像复制,缩放

实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验4 矢量要素的镜像复制&#xff0c;缩放 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&#xff09;加载【Mirror Features】工具 &#x…

VMware之安装Windows10系统

系统下载 下载地址&#xff1a;原版软件 (itellyou.cn) 创建虚拟机系统框架 在菜单栏中选择文件下的新建虚拟机 选择自定义&#xff0c;然后点击下一步 直接下一步 选择稍后安装操作系统&#xff0c;然后点击下一步 因为安装的系统是Windows&#xff0c;这里注意选择Microsof…