一句话理解
根据数据范围反推算法,是做题第一步。
为什么要学
范围写在题面里,就是出题人给你的提示。
讲解
n≤10 可 n!;n≤20 可 2^n;n≤400 可 n³;n≤5000 可 n²;n≤1e5 要 n log n;n≤1e6 要线性。
先看 n,再决定搜、DP 还是数学。
例子
看见 n=1e5,立刻划掉二重枚举。
| n 的规模 | 常见算法 |
|---|---|
| ≤ 10 | n! |
| ≤ 20 | 2^n |
| ≤ 400 | n³ |
| ≤ 5000 | n² |
| ≤ 1e5 | n log n |
| ≤ 1e6 | n |
常见错误
- 只看样例 n。
- 忽略多测合计的 n。