杜教筛

求一个积性函数 \(f(x)\) 的前缀和 \(S(x) = \sum_{i = 1}^x f(x)\),可以构造另外两个积性函数 \(g, h\) 满足 \(f * g = h\).

于是有

\[\begin{aligned} \sum_{i = 1}^n h(i) = & \sum_{i=1}^n \sum_{d | i} g(d) f(\frac{i}{d}) \\ = & \sum_{d=1}^n g(d) \sum_{i = 1}^{\left\lfloor\frac{n}{d}\right\rfloor} f(i). \end{aligned} \]

移项可以得到:

\[\begin{aligned} g(1)S(n) = & \sum_{i=1}^n h(i) - \sum_{d = 2}^n g(d) \sum_{i = 1}^{\left\lfloor\frac{n}{d}\right\rfloor} f(i) \\ = & \sum_{i=1}^n h(i) - \sum_{d = 2}^n g(d) S\left(\left\lfloor\frac{n}{d}\right\rfloor\right). \end{aligned} \]

posted @ 2025-07-30 11:14  心灵震荡  阅读(8)  评论(0)    收藏  举报