世界机器人大会青少年机器人设计与信息素养大赛2025-2026 学年算法应用主题赛 / 初中组wrc.hao.work
WRCWorld Robot Contest青少年算法应用训练档案馆
四大文化场景完整题库档案HTTPS 资料库
08-debug-and-optimization/README.md

调试与优化总览

本分区关注两件事:

关联训练题0

调试与优化总览

本分区关注两件事:

  • 程序错了以后,怎样高效定位问题
  • 程序能跑以后,怎样进一步提升稳定性和性能

在训练题中,很多失分并不是因为完全不会,而是因为:

  • 少考虑了一组边界
  • 某个状态更新顺序写反
  • 输出格式正确但时间超限
  • 已经修过一次 bug,却没有留下可复用经验

因此,调试和优化不是附属工作,而是解题能力的一部分。

本分区的核心目标

  • 建立稳定的调试顺序,而不是遇错就盲改
  • 学会把错误分成解析问题、逻辑问题、边界问题、性能问题
  • 学会借助日志、断点思维和测试集缩小问题范围
  • 在保证正确性的前提下,识别真正需要优化的部分

推荐阅读路径

  1. 先看 调试与优化手册 的整体流程。
  2. 回到任意一道已经做过的题,按手册顺序重新排查一次。
  3. 选择一道模拟题和一道规划题,分别总结最常见 bug 类型。

与题库的典型联系

  • s1-jh-02-heritage-simulation:重点检查状态更新顺序、异常恢复和重复计数。
  • s1-jh-03-heritage-data-standard:重点检查脏数据、缺失字段和格式统一。
  • s2-jh-01-route-supplys4-jh-02-production-plan:重点检查可行解、最优解和复杂度。
  • s4-jh-03-promotion-forecasts2-jh-02-livelihood-trend:重点检查时间顺序、异常值处理和预测边界。

调试与优化的一般原则

先定位,再修改

  • 先确认错误出现在哪一层
  • 再决定改解析、改逻辑、改数据结构还是改复杂度

一次只修一个问题

  • 多处同时改动会破坏因果关系
  • 无法知道究竟是哪一处修复起作用

优化必须建立在正确性之上

  • 错误算法跑得再快也没有意义
  • 先保留一个正确但可能较慢的版本,再做对照优化通常更稳

建议的训练方式

  • 每做完一道题,至少写下一个“如果再做一次,我会先检查什么”的复盘点。
  • 对同类错误做归档,如“格式错误类”“状态更新类”“复杂度类”。
  • 对高频错误建立个人检查清单,这会比临时灵感更可靠。