Loading [MathJax]/extensions/TeX/mathchoice.js
我想时间,借清澈眉眼搁浅,它却似雪泥飞鸿般不见。|

Sya_Resory

园龄:6年4个月粉丝:3关注:8

【学习笔记】Powerful Number 筛

有力量的数字筛(?)

Powerful Number

有力量的数字(?)

定义一个数 n 为 Powerful Number(简称 PN),当且仅当 n 没有非平方因子。

也即,若 n=peii,则 ei>1

Lemma

保障 PN 筛时间复杂度的一个性质。

n 以内的 PN 个数为 O(n)

首先,考虑每个 PN 可以被表示为 a3b2 的形式,构造方法是质因数分解后,把幂次为奇数的质数分给 a3 一个,剩下分给 b2。枚举 b 然后积分就可以得到 PN 的数量:

n1/2b=1(nb2)1/3n1/21(nx2)1/3dx=O(n)

Description

求积性函数前缀和。

对于要求前缀和的积性函数 f,构造可以快速计算前缀和的拟合函数 g 使得 f(p)=g(p)。再构造 h 使得 f=gh。显然有 f(p)=g(p)h(1)+g(1)h(p),可得 h(p)=0。因此 h 仅在 1 和 PN 处有取值。然后把 f 的前缀和做一下变换:

ni=1f(i)=ni=1dng(nd)h(d)=nd=1ndi=1g(i)h(d)=nd=1h(d)G(nd)

因为 h 仅在 O(n)d 值处有取值,可以直接搜索 d 的取值。

g 的前缀和能 O(1) 计算,则复杂度为 O(n)

h 的取值可以在特定题目直接推导,也可以记忆化后计算。通过定义式 f=gh 得到 f(pe)=ei=0g(pi)h(pei),移项得到 h(pe)=f(pe)ei=1g(pi)h(pei) 即可计算。

Problems

P5325 【模板】Min_25筛

令积性函数 f(pe)=pe(pe1),求 f 前缀和。

在质数处,构造 g=idφ 拟合 fg 可以通过杜教筛求前缀和。注意到式子所需要的 g 前缀和求一次 ni=1g(i) 即可得到,因此复杂度瓶颈在这次杜教筛,总体复杂度为 O(n2/3)

这题也可直接计算 h(pe)=(e1)(p1)pe。证明不写了。

record

Loj #6053. 简单的函数

定义积性函数 f

f(n)={1n=1pen=pef(a)f(b)n=ab,ab

f 前缀和。

异或有点烦。按奇偶性分类:

f(p)={3p=2p1p2

构造 g

g(p)={3φ(p)p=2φ(p)p2

显然 g 为积性函数。考虑计算 g 的前缀和:

\begin{aligned} G(n)=&\sum_{i=1}^ng(i)\\ =&\sum_{i=1}^n[i\equiv1\pmod2]\varphi(i)+3\sum_{i=1}^n[i\equiv0\pmod2]\varphi(i)\\ =&\sum_{i=1}^n\varphi(i)+2\sum_{i=1}^n[i\equiv0\pmod2]\varphi(i)\\ =&\sum_{i=1}^n\varphi(i)+2\sum_{i=1}^{\lfloor\frac n2\rfloor}\varphi(2i)\\ =&S_1(n)+2S_2(\lfloor\frac n2\rfloor) \end{aligned}

S_1(n)=\sum_{i=1}^n\varphi(n),可以杜教筛。

\begin{aligned} S_2(n)=&\sum_{i=1}^n\varphi(2i)\\ =&\sum_{i=1}^n[i\equiv1\pmod2]\varphi(2i)+\sum_{i=1}^n[i\equiv0\pmod2]\varphi(2i)\\ =&\sum_{i=1}^n[i\equiv1\pmod2]\varphi(i)+2\sum_{i=1}^n[i\equiv0\pmod2]\varphi(i)\\ =&\sum_{i=1}^n\varphi(i)+\sum_{i=1}^n[i\equiv0\pmod2]\varphi(i)\\ =&S_1(n)+S_2(\lfloor\frac n2\rfloor) \end{aligned}

递归计算。

record

Extend

有时候拟合函数 g 不是很好找。这时可以构造一个 g,使得 h=f/g 仅在少数位置有取值。

SP34112 UDIVSUM

\sigma^*(p^e)=p^e+1,求前缀和。

构造 g=\sigma,即约数和,可以数论分块 O(\sqrt n) 求。写 divcnt1 的都是狗

h=\sigma^*/\sigma,发现 h(1)=1,h(p^2)=-p,其余位置均无取值。于是可以 PN 筛,注意幂次处理。

record

本文作者:Sya_Resory

本文链接:https://www.cnblogs.com/resorie/p/notes-PN.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @ 2022-07-27 14:45  Sya_Resory  阅读(153)  评论(0)    收藏  举报
评论
收藏
关注
推荐
深色
回顶
收起
点击右上角即可分享
微信分享提示