警钟敲响

客博的__80gnaij11__ / 2023-08-21 / 原文

\(1000\) 余条 Unaccepted 记录中提炼的错误点。

不要以为自己离这些错误很遥远。

  1. getchar() 读入不读入换行。
  2. 读入多组数据不清空。
  3. 各种变量的含义搞错。
  4. 应该开 double/long long 的变量开了 int
  5. INF 开得太小。
  6. 边界条件写错(比如 \(≤\) 写成 \(<\) )。
  7. 数组范围开得太小。
  8. while 结束条件错误导致死循环。
  9. 分块时把每段大小 \(L\) 写成 数组大小 \(n\) ,导致其退化为暴力。
  10. 头文件中包含的函数不能作为变量名。
  11. intlong long 不能直接调用 max 函数进行比较。
  12. vector 或其他数据结构存的数据太多。
  13. freopen 没写/文件名写错。
  14. 手滑删行。
  15. 如果要求输出 Yes,No,No Solution 等时,看清大小写。
  16. ios::sync_with_stdio(false) 后混用 cin/coutscanf/printf
  17. 看清模数,比如 998244353998244853
  18. 整数二分注意上下界,实数二分注意精度。