min25 筛和洲阁筛
你说这些我也不明白啊
1. \(F_k\) 函数
现在假设要求积性函数 \(f(x)\) 的前缀和,我们设 \(minp(x)\) 函数代表 \(x\) 的最小质因子是第几个质数,设 \(F_k(x)\) 函数表示在 \([2,x]\) 中 \(minp(i)\geq k\) 的 \(f(i)\) 的和。
这样,我们需要求的前缀和即为 \(F_1(n)+1\) 。考虑递归求解 \(F_k(x)\) 函数。
对于 \(F_k(x)\) ,只考虑 \(F_k(x)\) 所求的范围中的数。将最小因子 \(p_i\) 的影响全部去掉,枚举 \(p_i\) 对应的次数 \(c\) ,则 \([1,x]\) 当中所有 \(minp(x)=p^i\) 且唯一分解中 \(p_k\) 的次数恰好等于 \(c\) 的数的贡献都可以分离出一个 \(f(p_k^c)\) 。对于还有因数的数,接着递归求解。则有
发现这样会直接死循环,发现当 \(p_i^c\leq x<p_i^{c+1}\) 的时候,考虑贡献的数中不存在仍含有比 \(p_i\) 大的因数,不递归。
里面 \(F_p(x)\) 就是 \([1,x]\) 中质数的函数值的和。然后它就不死循环了,不过需要预处理一个 \(F_p(x)\) 。
2.\(F_p\) 函数
设 \(F_p(x)\) 表示 \(\sum_{i=1}^{p_i\leq x} f(p_i)\) ,这个时候 \(f(p_i)\) 不好转移,但因为 \(p_i\) 是质数,所以大多数情况下是一个很低次的多项式(如欧拉函数 \(\varphi(p_i)=p_i -1\) ),将每一项分开考虑,则只需要求 \(\sum_{i=1}^{p_i\leq x} p_i^t\) ,其中 \(t\) 为常数。
设 \(G_k(x)=\sum_{i=1}^x i^t [i\in P||minp(i)>p_k]\) ,即为埃氏筛进行到 \(p_k\) 之后剩下的数,则 \(F_p(x)=G_{|P|}(x)\) ,其中 \(P\) 为筛到 \(\sqrt n\) 的素数,因为埃氏筛只筛到 \(\sqrt n\) 即可。
对于 \(n<p_k^2\) ,则筛之后没有效果,\(G_k(x)=G_{k-1}(x)\) 。
否则,将所有有 \(p_k\) 为质因数的数删掉,由于 \(p_k^t\) 也是积性函数,所以 \(-p_k^tG_{k-1}(n/p_k)\) ,表示还没被上一轮加过的数们在去掉这个质因数后剩下的因数,但是上一轮加过的质数同样不能再加,于是再 \(+p_k^tG_{k-1}(p_{k-1})\) 表示上一轮已经筛出的质数。得到递推式
边界为 \(k=0\) ,用数学归纳法 \(O(1)\) 求自然数幂和就行。
3.复杂度
我会复杂度分析吗时间反正能跑 \(1e13\) 就行了。
具体实现的时候做 \(F_k(x)\) 函数不需要所有的 \(F_p(x)\) 。分别考虑递归式里的两种情况。
首先是 \(F_p(p_{k-1})\) ,因为求 \(F_k(x)\) 相当于一个质因数分解的过程,除了最后可能剩下一个 \(>\sqrt n\) 的质因数,其它用到的 \(p_{k-1}\) 肯定都在 \(\sqrt n\) 以下。而剩最后一个质数的时候 \(F_k(x)\) 的 \(x\) 当中也不可能存在两个在 \(\sqrt n\) 以上的因数,也就是说把小于等于 \(\sqrt n\) 的质因数减去即可。这样,只需要筛出小于等于 \(\sqrt n\) 的质数的 \(F_p(p_k)\) 即可。
然后是 \(F_p(x)\) ,这里面 \(F_k(x)\) 一定是由 \(n\) 除掉某些数得来,整除分块以下得到的数会在 \(\sqrt n\) 级别。
然后只需要 \(O(\sqrt n)\) 的空间复杂度即可。
4.洲阁筛
杜教筛套整除分块之后复杂度不变,但是min_25筛就不是。
需要进行整除分块次min_25筛的话,考虑改变 \(F_k(x)\) 的定义
设 \(F_k(x)=\sum_{i=1}^x f(x) [i\in P||minp(i)>=p_k]\) ,和求 \(F_p\) 时类似,表示埃氏筛进行到 \(p_{k-1}\) 之后剩下的数。当 \(p_k^2\leq x\) 时,可以类似求 \(F_p\) 反过来,每次加入在 \(k\) 轮中被筛掉而 \(k-1\) 轮中没有删掉的数。直接给出式子
边界条件为 \(F_{|P|+1}(x)=F_p(x)\) ,即只剩下质数的情况。
这样用和求 \(F_p\) 一样的递推的方法就能快速求出 \(F_k(x)\) ,不过常数略大似乎跑不了 \(1e12\) 的说。
5.用法
由于min_25筛在分解到质数时特判这一特点,可以用来处理因数最值类的问题。

浙公网安备 33010602011771号