C++ / ACM 自学笔记 · v5.0

(三) 解题和自查顺序

  1. 读题: 写清输入、输出、约束和是否有多组数据。
  2. 估算复杂度: 根据数据规模选算法,再决定是否需要优化 I/O。
  3. 先构造样例: 包括最小输入、重复值、负数、全相同、递增或递减数据。
  4. 明确不变量: 例如二分区间、滑动窗口的有效条件、DP 数组的含义。
  5. 检查类型: 累计和、乘法、坐标差和计数是否需要 long long。
  6. 核对输出: 按题目格式输出空格、换行、小数精度、大小写和无解标记。
评测结果 含义 常见检查方向
AC Accepted,通过 仍可回顾正确性和复杂度
WA Wrong Answer,答案错误 条件判断、状态定义、漏掉的情况
TLE Time Limit Exceeded,超时 算法复杂度、重复计算、输入输出
MLE Memory Limit Exceeded,内存超限 大数组、类型宏、重复存储
RE Runtime Error,运行错误 越界、除零、栈深度、非法访问
CE Compilation Error,编译错误 语法、头文件、标准版本和接口

在本地开启编译警告;需要排查容器越界时,可在支持的 GCC / libstdc++ 环境下使用 -D_GLIBCXX_DEBUG。本地调试配置不一定适合直接提交,提交前再按评测环境编译。

查阅笔记正文与全部题解 · Ctrl / ⌘ K