杜教筛学习笔记

news/2024/9/17 17:34:28/文章来源:https://www.cnblogs.com/0shadow0/p/18411848

$\quad $ 《一种可以在低于线性时间内计算出积性函数前缀和的筛法》

$\quad $ 其实说是筛法,倒不如说是技巧。先说一下大致过程吧。

$\quad $ 假设你要求 \(\sum _{i=1}^{n}f(i)\)\(f(x)\) 是一个积性函数,记 \(s(n)=\sum _{i=1}^{n}f(i)\)

$\quad $ 那么你要找出一个积性函数 \(g\) ,使得 \(g\)\(f\) 的狄利克雷卷积(记为 \(h\) )的前缀和方便计算。

主要过程如下:

\[\sum _{i=1}^{n}h(i)=\sum _{i=1}^{n}\sum _{d|i}g(d)f(\frac{i}{d}) \]

\[\sum _{i=1}^{n}h(i)=\sum _{d=1}^{n}g(d)\sum _{i=1}^{\lfloor \frac{n}{d}\rfloor}f(i) \]

\[\sum _{i=1}^{n}h(i)=\sum _{d=1}^{n}g(d)s(\lfloor\frac{n}{d}\rfloor) \]

然后提出含 \(s(n)\) 的项。

\[g(1)s(n)=\sum _{i=1}^{n}h(i)-\sum _{d=2}^{n}g(d)s(\lfloor\frac{n}{d}\rfloor) \]

然后递归求解+记忆化即可。

$\quad $ 写两个常用东西:

\(\varphi * I=id\)

\(I*\mu=\epsilon\)

$\quad $ 上面的乘号代表卷积运算,这两个东西其实就是我在莫反做题记开头给到的两个结论。这两个东西的应用似乎有人叫做欧拉反演和莫比乌斯反演?不是很清楚。

看看例题吧。

杜教筛模板

$\quad $ 即:

\[ans1=\sum _{i=1}^{n}\varphi(i) \]

\[ans2=\sum _{i=1}^{n}\mu(i) \]

$\quad $ 先去处理 \(ans1\) ,按照上面的方法,我们令 \(g\) 函数为 \(I\) ,则:

\[h(n)=\sum _{d|n}\varphi(d)=n \]

于是有:

\[s(n)=\sum _{i=1}^{n}i - \sum _{i=2}^{n}s(\lfloor\frac{n}{d}\rfloor)=\frac{n\times(n+1)}{2}-\sum _{d=2}^{n}s(\lfloor\frac{n}{d}\rfloor) \]

$\quad $ 然后处理 \(ans2\) ,我们仍令 \(g=I\) ,则:

\[h(n)=\mu*I=\epsilon \]

$\quad $ 这个的前缀和显然就是 \(1\) 了。于是我们得到:

\[s(n)=1-\sum _{i=2}^{n}s(\lfloor\frac{n}{d}\rfloor) \]

$\quad $ 然后分别计算 \(ans1\)\(ans2\) 即可。

神犇和蒟蒻

$\quad $ 小清新题,求:

\[ans1=\sum _{i=1}^{n}\mu(i^2) \]

\[ans2=\sum _{i=1}^{n}\varphi(i^2) \]

$\quad $ \(ans1\) 一眼就是 \(1\) ,没什么好说的,我们来看 \(ans2\)

\[ans2=\sum _{i=1}^{n}\varphi(i^2)=\sum _{i=1}^{n}i\varphi(i) \]

$\quad $ 然后令 \(g=id\)
那么:

\[h(n)=\sum _{d|n}d\varphi(d)\frac{n}{d}=n^2 \]

$\quad $ 然后我们还需要知道:\(\sum _{i=1}^{n}i^2=\frac{n\times(n+1)\times(2n+1)}{6}\)

$\quad $ 然后就可以得出:

\[s(n)=\frac{n\times(n+1)\times(2n+1)}{6}-\sum _{i=2}^{n}is(\lfloor\frac{n}{i}\rfloor) \]

\[To Be Continued \]

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

降维算法 0基础小白也能懂(附代码)

在互联网大数据场景下,我们经常需要面对高维数据,在对这些数据做分析和可视化的时候,我们通常会面对「高维」这个障碍。在数据挖掘和建模的过程中,高维数据也同样带来大的计算量,占据更多的资源,而且许多变量之间可能存在相关性,从而增加了分析与建模的复杂性。我们希望…

倍福twincat2变量变化监控方法

使用场景 使用twincat2 scopeview工具对程序中快速变化的变量进行监控并分析程序异常点 监控设置打开TwincatScopeView软件新建示波器并添加Channel填写AMS地址插入需要监控的变量(此处可将需要监控的变量赋值,置顶,方便添加)调整窗口显示范围选择固定时间监视/持续监控对图…

SBT20100VFCT-ASEMI低压降肖特基二极管SBT20100VFCT

SBT20100VFCT-ASEMI低压降肖特基二极管SBT20100VFCT编辑:ll SBT20100VFCT-ASEMI低压降肖特基二极管SBT20100VFCT 型号:SBT20100VFCT 品牌:ASEMI 封装:ITO-220AB 安装方式:插件 批号:最新 恢复时间:35ns 最大平均正向电流(IF):20A 最大循环峰值反向电压(VRRM):100V…

阿里云 云盘扩充

挂载实例 /dev/vdc 要操作的主分区是 /dev/vdc1,这个盘只有一个分区,先卸载主分区: umount /dev/vdc1df -h 来查看是否卸载成功。如果在输出的结果中看不到 /dev/vdc1 的信息,则表示卸载成这一步,我们使用 fdisk 命令删除原来的分区并创建新分区,步骤如下:首先运行 fd…

Linux复习之安装

不过现在不推荐自己安装了,推荐使用云服务器,因为现在云服务很便宜,而且有各种优惠 安装虚拟机手动进行磁盘分区安装成功的界面虚拟机的克隆快照的设置与管理迁移与删除远程登录-Xshell,远程传输数据-Xftp6解决xftp6中文乱码的问题vim-3中模式vim的快捷键关机重启运行级别 …

Java常见报错

NoSuchElementException: 一般都是数组或者集合的索引越界 ConCurrentCheck(并发修改异常): 因为集合中有自己的修改次数记录的变量,还有另一个记录地变量,一般这2个变量不一致,则会报错!mapkey is required怎么解决:说明: MyBatis查询一些记录,数据涉及到两个表里的数据…

智能监控技术揭秘:思通数科AI系统值班行为分析

思通数科的AI视频识别预警系统是一个集成了先进人工智能技术的监控解决方案,旨在通过实时视频分析提高安全监控的效率和准确性。该系统利用深度学习算法,能够识别和分析视频中的各种行为模式,从而实现对特定事件的快速响应。AI技术在值班离岗、脱岗等行为监控方面的主要实际…

将美术馆装进手机,艺术融入生活。《Arrrt》入选华为应用市场“匠心奖”

随身美术馆,多维探索艺术世界 你看过梵高笔下的玫瑰吗?你知道莫奈画中的女孩是谁吗?你知道艺术史上有哪些知名的猫奴吗?想不想探索更多艺术大师的作品与背后的故事?《Arrrt》将美术馆装进手机,化作一间随身美术馆。从巴洛克到抽象主义,从学院派到印象派,从文人画到浮世…

ssm整合--关系图书信息的4大操作

ssm整合 1.整体文件目录结构:2.配置Druid数据(字母大小写注意,最好复制过去):3.配置Mybatis(写时有点懵):4.配置servlet:5.配置SpringMvc:6.功能模块开发Book的数据层接口业务层接口业务层的实现控制层

数据结构--P14

数据结构学习什么:数据结构、数据对象:算法的结构:算法的所有结构:时间复杂度:线性表的定义和基本操作:【旧版】2.2.1_顺序表的定义 静态分配方式的顺序表静态分配时的易错点:‘违规’打印数组顺序表的实现--动态分配 就是不用数组了,改用指针了相关函数 初始化--函数1…

操作系统P14

操作系统的定义:用户接口(重要):具体介绍易懵概念: 系统调用 = 系统调用命令 = 广义指令 本节总结:操作系统的特性-- 1.共享2.并发与共享之间的关系3.虚拟4.异步5.总结:操作系统的发展与分类(框中的为重点):运行机制和体系结构:中断和异常: 中断的分类:系统调用:…

计算机组成原理P7

计算机的发展:计算机硬件的基本组成: 现代计算机机构;冯诺依曼结构及组成部分;【2021版】1.2.2_认识各个硬件部件 主存;控制器;运算器;取指令、分析,完成指令注:现在的计算机通常把MAR MDR也集成到CPU中,所以后面遇到CPU内有MAR MDR也不用惊讶 冯诺依曼计算机的6个特…