转载至https://blog.csdn.net/skywalkert/article/details/50500009

前置技能

积性函数的定义

  1. 若f(n)f(n)的定义域为正整数域,值域为复数,即f:Z+→Cf:Z+→C,则称f(n)f(n)为数论函数
  2. 若f(n)f(n)为数论函数,且f(1)=1f(1)=1,对于互质的正整数p,qp,q有f(p⋅q)=f(p)⋅f(q)f(p⋅q)=f(p)⋅f(q),则称其为积性函数
  3. 若f(n)f(n)为积性函数,且对于任意正整数p,qp,q都有f(p⋅q)=f(p)⋅f(q)f(p⋅q)=f(p)⋅f(q),则称其为完全积性函数

积性函数的性质与例子

狄利克雷卷积与莫比乌斯反演

ACM赛题是需要这种技巧在低于线性时间的复杂度下解决一类积性函数的前缀和问题。

首先看一个简单的例子,求前nn个正整数的约数之和,即,其中。 
显然不能直接做了,但是我们可以推导一番:

如果能通过狄利克雷卷积构造一个更好计算前缀和的函数,且用于卷积的另一个函数也易计算,则可以简化计算过程。例如上题就是利用了的性质,但一定注意,不是所有的这一类题都只用配个恒等函数II就可以轻松完事的,有时需要更细致的观察。

但是注意到这种方法的常数与复杂度都可能较高,有时候可能再进行一些推导可以得到一个不使用正文方法的做法,例如ZOJ 3881 - From the ABC conjecture,本文的方法与网上一个解法类似,可以用于求解此题,但是可以这样推导之后得到更简单的一个做法。

需要使用此种方法的题目一般数据规模较大,例如,但是并不是都要使用此类方法,有时候可能存在其他O()的做法,例如51Nod 1222 - 最小公倍数计数,会利用正文复杂度分析的方法即可,再例如ZOJ 5340 - The Sum of Unitary Totient

推荐题目

这里给出一些练手的题目供大家理解上述方法,这类题还是较少的,如有其他题的题源欢迎分享。 
51Nod 1244 - 莫比乌斯函数之和 
51Nod 1239 - 欧拉函数之和 
BZOJ 3944 - Sum 
HDU 5608 - function 
51Nod 1238 - 最小公倍数之和 V3 
51Nod 1237 - 最大公约数之和 V3 
51Nod 1227 - 平均最小公倍数 
Tsinsen A1231 - Crash的数字表格 
SPOJ DIVCNT2 - Counting Divisors (square) 
51Nod 1222 - 最小公倍数计数(复杂度分析) 
BZOJ 4176 - Lucas的数论 
51Nod 1220 - 约数之和 
51Nod 1584 - 加权约数和 
ZOJ 3881 - From the ABC conjecture(不需要使用正文方法) 
BZOJ 3512 - DZY Loves Math IV 
ZOJ 5340 - The Sum of Unitary Totient(常规积性函数求和,数据组数较多,只可分段打表) 
SPOJ DIVCNT3 - Counting Divisors (cube)(常规积性函数求和,注意代码长度限制,不可打表) 
51Nod 1575 - Gcd and Lcm(常规积性函数求和,可分段打表) 
51Nod 1847 - 奇怪的数学题(非常规积性函数求和,综合题,可分段打表)

浅谈积性函数求前缀和相关推荐

  1. 浅谈一类积性函数的前缀和(转载)

    本文转自:http://blog.csdn.net/skywalkert/article/details/50500009 另外,莫比乌斯反演和杜教筛其他可转到 http://blog.leanote ...

  2. Happy 2004(积性函数、快速幂取模、费马小定理、求因数和)

    happy 2004 题目 积性函数 求因数和 费马小定理 定理 取模 加减法 乘法 除法 结论 推导 快速幂取模 快速幂 快速幂取模 题目代码 坑点 题目 Consider a positive i ...

  3. 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  4. 【算法专题】积性函数

    [参考] ★浅谈一类积性函数的前缀和 by skywalkert 任之洲数论函数.pdf 论逗逼的自我修养之寒假颓废记 by jiry_2 杜教筛 [学习笔记][更新中] by Candy? [变化技 ...

  5. 2018ACM-ICPC南京赛区网络赛: J. Sum(积性函数前缀和)

    J. Sum A square-free integer is an integer which is indivisible by any square number except 11. For ...

  6. 51nod 1244 莫比乌斯函数之和(积性函数前缀和)

    关于积性函数前缀和的问题,可以关注糖老师的博客 关于积性函数前缀和的问题,可以关注糖老师的博客 http://blog.csdn.net/skywalkert/article/details/5050 ...

  7. bzoj2186 莎拉公主的困惑 积性函数

    这个题其实就是考察了积性函数phi的一些性质 首先,phi(2)*4=phi(8):∴ phi(P)*P^n=phi(P*P^n) 所以 phi(2*3*4)=phi(2*4)*phi(3)=phi( ...

  8. HDU 6134 2017 多校训练:Battlestation Operational(莫比乌斯反演+积性函数)

    实在太长了直接放题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6134 这题就是求 考虑当Gcd(i, j)==1时,除了j为1的情况,其它时候i/j一 ...

  9. 专题·莫比乌斯函数与欧拉函数【including 整除分块,积性函数,狄利克雷卷积,欧拉函数,莫比乌斯函数,莫比乌斯反演

    初见安~又是好久没写博客了--加上CSP才炸了一波. 目录 一.整除分块 题解 二.积性函数 三.狄利克雷卷积 四.欧拉函数 五.莫比乌斯函数(mu) 六.莫比乌斯反演 一.整除分块 看个例题:洛谷P ...

最新文章

  1. How does SGD weight_decay work?
  2. Python-从视频到gif(imageio,moviepy,ffmpeg)
  3. java httpclient访问webservice_java通过HttpClient方式和HttpURLConnection方式调用WebService接口...
  4. JavaScript 中 void(0) 的含义
  5. 密度聚类 DBSCAN python实现
  6. 聚类(1)——混合高斯模型 Gaussian Mixture Model
  7. sci translate好用吗_228个学科分类对应12000+本SCI和SSCI期刊,总有你要的那款!
  8. iOS 判断设备型号
  9. 网络(14)-Web站点如何防范XSS、CSRF、SQL注入攻击?
  10. 开关电源(DC/DC)和线性电源(LDO低压差线性稳压器)的区别
  11. 维纳滤波法matlab代码,完整的维纳滤波器Matlab源程序
  12. linux内存测试工具memtest,Linux基础教程:内存测试工具(Memtest86+)
  13. 黑苹果双系统访问其他磁盘windows/U盘或移动硬盘格式NTFS
  14. matlab 仿真步长,[转载]matlab 仿真步长设置
  15. 自动装载寄存器 (TIMx_ARR)、预分频器寄存器(TIMx_PSC)解析
  16. 【VOLTE】【SRVCC】【2】 VOLTE SRVCC(SRVCC TO 3GPP2/CDMA1X)
  17. MySQL latch
  18. 3DTouch简单实现
  19. PV操作与信号灯及例子+三大操作系统共同点的线程通信
  20. 工程管理系统企业工程管理系统简介

热门文章

  1. Part8 多态性 8.2虚函数
  2. 关于 CSS3 backface-visiable 与 overflow 属性的冲突
  3. 『信息收集』GoogleHacking快速定位目标网站
  4. WordPress yolink Search插件‘s’参数跨站脚本漏洞
  5. HTML5开发 桌面提醒功能
  6. 系统安装,重装与优化:chapter2 硬盘的分区与格式化
  7. CUDA Study ---- Hardware Architecture
  8. 常见缓存算法和LRU与LFU的c++实现
  9. html传递json中文乱码,解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码...
  10. [云炬创业学笔记]第二章决定成为创业者测试3