Powerful Number 筛(PN 筛)可以解决一些求积性函数前缀和的问题。要求能构造出一个积性函数gg,满足: gg容易求前缀和; 对于质数pp,f(p)=g(p)f(p)=g(p)。 称一个数xx是Powerful Number(PN)当且仅当xx的质因数分解中,所有质因数的指数都≥2≥2。11是 PN。
Powerful numberPowerful number 筛。 一种具有优化时间(代码)复杂度和简化函数复杂度双重优点的筛法。 Powerful numberPowerful number 虽然像杜教筛一样只能筛单项式积性函数 , 但是它的单项式可以比普通的积性函数复杂。如 Min_25Min_25 的模板 : 简单的函数 , 可以用 Powerful numberPowerful number 跑过去。
首先,≤n≤n的powerful number个数是O(√n)O(n)的,这是因为所有powerful number显然可以表示成a2b3a2b3,所以个数不超过∑√ni=1(n/i2)1/3∑i=1n(n/i2)1/3,积分积一下就算出来了。求所有≤n≤n的powerful number只要暴搜质因子分解式即可。 例题1 pe63? 有一个积性函数FF满足对于所有质数pp,F(...
例题 这就属于很板的题了,由于f(p)=2,所以会想到d(p)=2,这里d表示约数个数,然后拟合就行了,属于是板题中的板题了。 这里贴一个找 powerful number 的代码,就直接按定义去找就行了(op表示是否是新的 powerful number)。 voidpowerful_number(intx,intp,intop){if(x==cnt+1)return;if(pri[x]*pri[...
Powerful Number 筛学习笔记 用途 \(Powerful\ number\) 筛可以用来求出一类积性函数的前缀和,最快可以达到根号复杂度。 实现 \(Powerful\ number\) 的定义是每个质因子次数都 \(\ge 2\) 的数。 有如下的性质: \(1\)、一个 \(Pow
昨天多校出了有关内容的题目,正好学一手。 定义:一个正整数 $n=\prod_{p_i\in prime} p_i^{c_i}$ 是 $\text{Powerful Number}$ (以下简称 $\text{PN}$ )当且仅当 $\forall i,c_i>1$。 结论:小于等于正整数 $
powerful number 比较少,≤n≤n的数只有O(√n)O(n)个。 找到它们是很容易的:从小到大枚举质因子的次数即可枚举出所有 powerful number 。 用这些数的性质可以求某一些积性函数的前缀和。 例题 函数FF满足F(pc)=pF(pc)=p且为积性函数,求FF的前缀和。
亚线性筛法: 杜教筛和 Powerful Number 筛 亚线性筛法求积性函数 f(x)f(x) 的前nn 项和, 我们可以通过线性筛解决 nn 数量在 107107 级别的情况, 当 nn 更大时, 线性算法就不足以求出答案了. 杜教筛就是一种对于特定积性函数能够在小于线性的复杂度内求出前 nn 项和的方法....
[学习笔记]Powerful number 筛2|0一.前言 好耶,原来我也会 PN 。这两天整了一些筛法相关,虽然还没看 Min_25 筛,可能过两天会写吧,现在先把 PN 的笔记写了。yysy 这个东西并没有我想像中的那么难,真的搞懂之后还是挺简单的。 当然我现在所有的筛法相关都没看复杂度,😃,所以这篇是不会有复杂度...
而gg,f=g⋆hf=g⋆h均为积性函数,所以hh为积性函数,况且h(p)h(p)恒为00,所以使得h(a)≠0h(a)≠0的aa为 Powerful Number!我们只需要预处理出O(√n)O(n)个gg的前缀和,再大力搜索不为00的h(a)h(a),就能算出上式的结果啦! 例题 ...