Min_25 筛
Original
\(p_i\) 表示第 \(i\) 个质数。
令 \(f'\) 为满足 \(f'(p^k)=f(p^k)\) 的某一完全积性函数,\(g(n,i)\) 表示对下标在 \([1,n]\) 中且不为 \(p_1,p_2,\cdots,p_i\) 任何一个的倍数的 \(f'\) 求和,即对用前 \(i\) 个质数埃氏筛后剩余的位置求和。
考虑对 \(g\) 做 DP。显然仅有 \(p_i^2\le n\) 时才会有合数被筛去,并且要是之前剩下来的,但是除却 \(p_1,p_2,\cdots,p_{i-1}\) 这些质数也没有被筛去。
注意正是因为 \(g\) 的完全积性,才能用 \(f(p_i)\) 直接乘上去。
观察到有意义的 \(n\) 只有 \(O(\dfrac{\sqrt{n}}{\ln n})\) 个值,滚动第二维,即可递推。
设 \(S(n,i)\) 表示下标在 \([1,n]\) 中且其最小质因子大于 \(p_i\) 的所有 \(f\) 之和。
注:\(\pi(n)\) 是未知的,但是根据前面 \(g(n,\pi(n))=g(n,\pi(\sqrt{n}))\)。
后面两项,分别枚举质因数和它的次数。注意到 \(p_j^{k+1}\leq n\) 是 \(S(\lfloor\dfrac{n}{p_j^k}\rfloor,j)\neq 0\) 的必要条件,因此我们同样只需要枚举到 \(p_j^2\le n\) 的质数。
和 \(g\) 类似,有意义的 \(n\) 只有 \(O(\dfrac{\sqrt{n}}{\ln n})\) 个值。
答案为 \(S(n,0)\)。
求 \(\pi(n)\)
会发现 \(\pi(n)=\sum_{i=1}^n[i\in P]\) 不是一个积性函数的前缀和,但是求 \(g\) 的部分只涉及质数处取值,因此直接令 \(f'=I\),答案就是 \(g(n,\pi(\sqrt{n}))\)。
Min_26
这个东西处理和组比较细节,核心是阈值分治。因为一直带着和组在跑,所以能处理出基本和组而非单独的 \(S(n)\)。但是不能扩展到非积性函数。
先放个佬的 文本

浙公网安备 33010602011771号