莫比乌斯反演 - 进阶
文章目录
莫比乌斯反演推论
如果
那么
YY 的 GCD
设表示是否是质数。求
多组询问,。
原式为
设
由于大多数项都是 0,因此只需要预处理不是 0 的项,再做一个前缀和即可。
LOJ6686 Stupid GCD
求
。
首先可以转化为枚举:
第一部分
化简后面的部分:
那么可以得到
这显然可以分块了。
第二部分
那么可以得到
于是原式即为。
两个部分使用杜教筛处理的前缀和即可。时间复杂度。
NOI2016 循环之美
第一部分
设
则
对于,我们暴力求一下即可。
原式化为
第二部分
后面的做分块,考虑算前面的前缀和。设
递归下去即可,边界。
Luogu5348 密码解锁
已知
求。。
第一部分
由莫比乌斯反演推论可以得到
第二部分
考虑把这个和式做一个递归:
第三部分
边界为。
我们考虑的贡献。当且仅当不含平方及以上的因子时,,否则。
因此我们要求中无平方因子的数的个数。那么考虑容斥,用整体减掉含有平方因子的数:
是容斥系数。注意在实现的时候不一定要直接前缀和。因为只有在无重复因子的时候才有值,因此可以 DFS。
原式为。计算即可。复杂度能过。
HDU4944 FSF’s game
求
多组数据,。
第一部分
设。
设。那么可以套路反演得到
那么我们做一个的前缀和就得到了。现在原式化简为了
直接计算可以做到的复杂度,但不够快。
第二部分
我们考虑计算。考虑枚举,然后枚举,计算对哪些有贡献。对于相同的贡献,显然有贡献的是一段长度为的区间(在末端长度小于等于)。因此差分一下,把区间加转化为单点加。然后做完后前缀和回来即可。
预处理的时间是调和级数。因此总复杂度。
修订记录
- 2019年11月28日 创建文章