一句话理解
数据范围决定你用什么类型、什么算法。
为什么要学
读题先看范围,能避免一半的溢出和超时。
讲解
看三件事:n 有多大、每个数有多大、答案可能有多大。
n≤10 和 n≤1e5 完全不是同一类题。a_i≤1e9 时,两数之积要用 long long。
把范围写在草稿纸上,再选类型和算法。
例子
题目写 1 ≤ n ≤ 1e5, 1 ≤ a_i ≤ 1e9。你应立刻想到:不能 n²,求和或乘积可能爆 int。
| 常见范围 | 含义 |
|---|---|
| n ≤ 10 | 也许能枚举排列 |
| n ≤ 1e5 | 需要 n log n 或线性 |
| a_i ≤ 1e9 | 乘法考虑 long long |
常见错误
- 只看样例大小。
- 只看 n 不看 a_i。