莫比乌斯反演
基础知识
- 两个积性函数
,它们的 狄利克雷卷积(Dirichlet卷积) 为
记为
- 狄利克雷卷积满足 交换律,结合律,且得到的函数也是 积性函数 。
定义
即
常用函数的三个结论:
即证
设
令
容易发现
得证。
即
用的不会很多。
利用狄利克雷卷积的结合律,在前一个式子的两边乘上一个
P3455 [POI2007]ZAP-Queries
求满足
本文默认
令
后面的艾弗森括号就等价于
把
预处理
P2257 YY的GCD
条件变成
枚举
有一个trick,令
后半部分的东西可以
还有trival的例题不写了。
莫比乌斯变换
-
若
,则 . -
若
,则 .
这两个式子称为 莫比乌斯变换 。两个函数 不需要一定是积性函数 。
第一个:由
第二个:反推。
P3172 [CQOI2015]选数
一个长为
先将
记
容易得到:
想一下怎么得到每一个
显然就是
答案是
一样的
要用杜教筛。
P3312 [SDOI2014]数表
求
不考虑
如果套上
考虑离线,将所有的
统计答案时要用到整除分块,所以应该得到一个区间和的形式,用树状数组实现操作。
这样复杂度就是
P3327 [SDOI2015]约数个数和
求
有结论:
考虑一个质因子
发现两边都是
代回去:
就做完了。
P1829 [国家集训队]Crash的数字表格 / JZPTAB
求
把后面那个东西提出来单独做式子看起来舒服方便一点。
后半可以整除分块。
代回去:
也可以整除分块。
分块套分块的复杂度是
P4466 [国家集训队]和与积
求
当
设
因为
当
暴力枚举
P4213 【模板】杜教筛(Sum)
求
设待求函数为
显然有
任务是找到方便计算前缀和的
大概预处理
代码不放,自己去贺。
复杂度是
*P1587 [NOI2016] 循环之美
求
设循环节长度为
由
答案就是
其中的一种方法:
把后面那串式子记成
显然有
考虑计算
无效贡献对式子无影响,变成
边界值
然后就要用杜教筛。
P3768 简单的数学题
求
答案对质数
一个较妙的做法。
这里用到
也就是
即
然后杜教筛就不难了。
*P4240 毒瘤之神的考验
求
有个结论:
前面那坨函数记为
记
显然这个式子只能
所以再记一个
考虑递推,容易得到
接着就可以用牛逼分治,就是说设一个阈值
int query(int n,int m){ if(n>m)swap(n,m); int ret=0; for(int i=1;i<=m/B;i++) (ret+=1ll*f[i]*G[i][n/i]%Mod*G[i][m/i]%Mod)%=Mod; for(int x=m/B+1,gx;x<=n;x=gx+1){ gx=min(n/(n/x),m/(m/x)); (ret+=(S[n/x][m/x][gx]-S[n/x][m/x][x-1]+Mod)%Mod)%=Mod; } return ret; }
算下复杂度是
平衡复杂度不太会算,应该是取
所以就是牛逼东西。
*P5572 [CmdOI2019]简单的数论题
这道题也是一样的trick.
求
一样记
那么
阈值为
平衡复杂度不会算就乱取一个。
*P3700 [CQOI2017] 小 Q 的表格
一开始有
从表格的对称性入手:
所以修改
转换一下第二个式子:
辗转相除的过程中一直递归下去:
那么
记
枚举
后面的式子由于有
思考一下就变成了
记
然后发现
不考虑数据结构的复杂度是
分块被卡成了儿子。。。树状数组跑得十分快。
*P4619 [SDOI2018] 旧试题
多测,求
快进到
令
。 。
把
如何连边:令
枚举三元环:枚举度数小的作为入边。是
zky 写的是
P6271 [湖北省队互测2014] 一个人的数论
之前贺完写的东西被自己删了。
求
其中
构造
那么
由于
有
将
故将
求
*P5518 [MtOI2019] 幽灵乐团 / 莫比乌斯反演基础练习题
暂时不考虑补过程。
本文作者:SE の 摆烂窝
本文链接:https://www.cnblogs.com/SError0819/p/17609849.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步