杜教筛
和式变换基础¶
首先基本函数有 \(\mu,\varphi\)。
Euler Sieve
C++ | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
instance¶
天梯赛 L3-3 可怜的简单题
式子推导不难,处理无穷求和是转化去一个等比数列。总之需要求的结果就是
inference¶
Note that factor with \(\lfloor\rfloor\) just has \(O(\sqrt n)\) different values, divided into continous segments. So basically the difficulty lies in the prefix sum of \(\mu\).
Practice
Prove that
Step1
Actually the technique here is re-combine the \(\mu\) s by different direction, in \(\sum_{k=1}^{n} [k=1]\). List \([k=1]\) s' \(\mu\) s, row-ly. Column-ly combine them, to get $$ 1 = \sum\limits_{d=1}^{n}\mu(d)\lfloor\frac{n}{d}\rfloor $$
Step2
proceed to transform the sum into prefix-like form, based on the index in the \(\mu\).
By observing that \(\{\lfloor \frac{n}{d}\rfloor:d=1,\cdots,n\}\) is a ladder-shaped stuff, which was just mentioned in above content. We can exhaustively to make them into prefix-like form.
Technically, the process can also be visualized as row-ly to column-ly. Just imagine \(\mu(k)\) corresponds a row with length \(\lfloor\frac{n}{k}\rfloor\). The details and result will be clarified in the following step.
Step3
Enumerate \(t = 1,2,\cdots, n\), refers the position on the row of \(\mu(1)\) (obviously the length is \(n\)), right now we're considering. The limit we can column-ly stretch, is the max \(\boxed{X}\) which satisfies
The tricky technique here is that we can remove the \(\lfloor\rfloor\) equivalently.
Then the thing is easy
$$
\frac{n}{t} \ge \boxed{X}
$$
So
$$
\boxed{X} = \lfloor\frac{n}{t}\rfloor
$$
Example
The principle of Division-Segmentation can be proved in the similar way in step3
So how to efficiently take advantage of the recursion-like formula?
algorithm¶
Denote that
$$ S_n := \sum\limits_{i=1}^{n} \mu(i) $$ Calculate \(n=1,\cdots,M\) in advance, do the recursion, then the time complexity should be
$$ O(M+\frac{N}{\sqrt{M}}) $$ So let \(M = O(N^{2/3})\) to get \(O(N^{2/3})\).
The details of the analysis can refer 杜教筛 - OI Wiki. The usage of memorization lies in the fact
$$ \lfloor\frac{\lfloor\frac{n}{x}\rfloor}{y}\rfloor = \lfloor\frac{n}{xy}\rfloor $$ swap \(x,y\) vice versa. So the possible value we may visit is really limited, corresponding to the very divisor.