min25 筛

min25 筛法(又名拓展埃筛)

解决一类积性(?)函数前缀和问题。

下文中如无特殊说明,\(p\) 均指代质数,\(n\) 的范围为 \(1\le n \le 10^{10}\)

Lucy dp

例:求 \(\pi(n), n \le 10^{12}\)

\(G(n,j)\) 表示 \(i\) 为素数或 \(i\) 的最小质因子 \(> p_j\)\(f_2(i)\) 之和,容斥下,则有转移:

\[G(n,j) = G(n, j-1) - (G(\lfloor \frac{n}{p_j} \rfloor, j - 1) - G(p_{j-1}, j-1)) \]

加入 \(p_j^2 \le n\) 的剪枝后复杂度是 \(O(\sum_{i=1}^{\sqrt n} \frac{\sqrt{n / i}}{\log n/i}) = O(\frac{n^{\frac{3}{4}}}{\log n})\) 的。

来拓展这个算法,由于 \(\pi(n) = \sum_{p} 1(p)\),根据转移式,只要数论函数 \(f\) 是完全积性的,所有 \(\sum_{p \ge n} f(p)\) 都可以求。

Min 25

还是考虑埃筛的思路,用最小质因子划分等价类,记 \(S(n,j)\) 表示最小质因子大于 \(p_j\)\(f(x)\) 和,那么答案就是 \(S(n,0) + f(1) = S(n,0) + 1\)

因为埃筛只要用 \(\le \sqrt n\) 的素数去筛,那我们把这件事情用到 \(S(n,j)\) 的求解上,我们记 \(h(n)\) 表示所有 \(\le n\) 的素数的 \(f\) 值和,这里如果 \(f(p)\) 可以表示为多个完全积性函数的线性组合就可以用 lucy dp 求出。

那么有 $$S(n,j) = \sum_{k > j, p_k \le \sqrt n, p_k^e \le n} f(p_k^e)([e>1] + S(\lfloor \frac{n}{p_k^e} \rfloor, k)) + h(n) - h(p_j)$$

min25 告诉我们,\(S\) 这里如果暴力 dfs 的话,复杂度是 \(O(n^{1-\epsilon})\) 的,而且常数非常小。

例题

洛谷模板题

\(f(p) = p^2 - p\),用 lucy dp 求出质数处 \(f_1(x)=x, f_2(x)=x^2\) 点值前缀和。

loj 6181

考虑若 \(\mu(n) = 0\)\(f(n) = 0\),否则推下式子即可发现 \(f\) 在素数处为 \(1\),其他有值情况为 \(-1\)

那么有答案为 \(\sum_k \mu(k)^2 - 2\sum_i [i \texttt{ is prime}]\)。后面那个东西显然可以 min25,但前面这个东西其实可以不用 min25。

考虑 \(\sum_k \mu(k)^2 = \sum_k [\operatorname{msf}(k) = 1]\),其中 \(\operatorname{msf}(k)\) 表示 \(i\) 的最小平方因子。

莫反一下就是 \(\sum_k \mu(k)\lfloor \frac{n}{k^2} \rfloor\)

loj 6053

\(f(p) = p-[p > 2]\),注意特殊处理 \(p = 2\)

abc370g

\(n = \prod p_i^{e_i}\),记 \(f(n) = \prod {e_i + m - 1 \choose e_i}\)\(g(n) = [\sigma(n) \equiv 1,2 \pmod 3] f(n)\)。那么 \(f\)\(g\) 显然是积性函数。

答案就是 \(\sum g(n) - \sum f(n)\)。而对于 \(h\) 的计算,我们需要求出 \(\bmod 3 \equiv 1,2\) 的素数个数,这两个东西实际是可以互推的。具体地,设 \(G_1, G_2\) 分别表示 \(\bmod 3 \equiv 1,2\) 的素数个数就可以转移了。

原创题

对每种可能的 \(S\),求出 \(1\sim n\) 内有多少个数 \(n = p_1^{c_1}p_2^{c_2}\cdots p_k^{c_k}\),满足其指数多重集 \(\{c_1,c_2,\dots,c_k\} = S\)

考虑 min25 筛实质是在做什么工作,它本质是提供了一种根据最小质因子划分的重构树,然后一起统计此重构树上的叶子造成的贡献。

于是我们可以直接在 min25 筛的 dfs 函数上修改,额外记录下此时的指数多重集,然后利用 lucy dp 求出来的指数个数转移,时间复杂度同上。

posted @ 2025-07-20 19:42  Cynops  阅读(63)  评论(0)    收藏  举报

Loading