10.04AM
预期 | 实际 | |
---|---|---|
A | 100 | 100 |
B | 0 | 0 |
C | 100 | 100 |
D | 10 | 0 |
E | 100 | 0 |
F | 100 | 100 |
S | 410 | 300 |
A Prime Distance \(\blacktriangle\!\blacktriangledown\)
- 首先肯定是考虑暴力。
- 一种是线性筛到 \(r\),时间复杂度\(O(T*r)\)(预处理可以优化到\(O(r+T*(r-l)\)),但是 \(O(n)\) 的空间还是挂掉。
- 另一种是试除法。这个的效率是\(O(T*(r-l)*r*\sqrt r)\),显然还是挂掉。
- 正解算是两个的结合。
- 从时间上及题意上看出框架只能用线性筛,但从空间上能看出来必须要优化,我们希望只开 \(O(r-l)\) 的空间,能把范围内的质数都判定出来。
- 而联想到试除法的优化,每个合数都能肯定有一个质因数小于等于自己开方的值,也肯定小于等于 \(\sqrt r\),那么只需要预处理出 \(\sqrt r\) 以下的数,乘到 \((l,r)\) 的范围内,判为合数(这个地方可以直接暴力,没必要再找质数····),再 \(O(r-l)\) 扫一次。预处理后时间复杂度为 \(O(\sqrt r+T*(r-l))\)
B
C 和A一模一样
D Widget Factory
E 樱花 \(\blacktriangle\!\blacktriangledown\)
- 这道题考试想了个灰常错误的算法。
- 推式子。
- 首先,从题意入手,
$ \frac 1 x+\frac 1 y= \frac 1 {n!} \( \)\frac {x+y}{xy}=\frac 1 {n!}\( \)xy-n!(x+y)=0\( \)(n!)2-n!*(x+y)+xy=(n!)2\( \)(n!-x)(n!-y)=(n!)^2\( \)n!-y=\frac {(n!)^2} {n!-x}$
那必有 \({(n!)^2} \mod {n!-x}=0\)
那么 \(n!-x\) 是 \({n!}^2\) 的约数,题目求 \((n!)^2\) 的因数和,那便转换成另一道做过的题。
- 首先,从题意入手,
F 方程的解 \(\blacktriangle\!\blacktriangledown\)
- 转化为n个球放进k个盒子,非空。
- 再转化为 n-1 个个位置插 k-1 个板子。
- 组合数 \(\mathrm{C}_{n-1}^{k-1}\)
\(\cal {Made} \ {by} \ {YuGe}\)