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

题型方法库

本页不是只给题型名称,而是给出“识别方式 + 建模方式 + 程序骨架 + 检查重点”。实际带训时,可以把它当作统一讲评模板。

关联训练题0

题型方法库总览

本页不是只给题型名称,而是给出“识别方式 + 建模方式 + 程序骨架 + 检查重点”。实际带训时,可以把它当作统一讲评模板。

题型速判表

题型题面关键词核心任务常见数据结构首选思路
复杂计算单价、损耗、换算、总量、成本公式正确、单位一致变量、数组分步换算与累加
流程模拟依次处理、轮次、步骤、状态变化按规则推进状态列表、队列、状态变量循环模拟
数据管理记录、表格、清洗、筛选、汇总结构化处理数据字典、列表、结构体标准化 + 聚合
综合分析排名、评分、等级、建议多指标比较列表、元组、映射计算指标 + 排序
路径规划节点、路径、距离、运输找最优路线图、邻接表、网格BFS、Dijkstra、搜索
趋势分析时间、变化、增长、均值、窗口发现趋势规律数组、前缀和排序 + 统计窗口
传播仿真渠道、覆盖、传播、影响模拟扩散过程队列、集合、图分轮传播
规则决策与资源分配条件、限制、选择、容量、预算在约束下求可行或最优方案数组、DP 表、优先队列贪心、枚举、动态规划

复杂计算题

识别特征

  • 题面出现多个单位、比例、折算规则或损耗规则。
  • 输出通常是总量、总价、总成本、平均值、费用或差值。
  • 看起来不像“模拟过程”,而更像“按公式一步一步算出来”。

建模方法

  • 先统一单位,再做运算。
  • 把题目中的每个名词都落实成变量,不要直接在公式里硬写。
  • 多阶段计算时,把中间量命名清楚,例如 raw_costloss_amountfinal_cost

程序骨架

  1. 读入原始参数。
  2. 做单位转换或比例换算。
  3. 逐项计算中间结果。
  4. 汇总成最终答案。
  5. 按要求格式输出。

常见错误

  • 单位未统一,例如千克和克、小时和分钟混算。
  • 百分比直接当整数使用,没有除以 100
  • 多轮折损时误写成一次性折损。
  • 题目要求四舍五入,但程序使用了截断。

训练建议

  • 先做纸笔推导,再写代码。
  • 每题至少自己构造 1 个很小的样例,检查手算结果与程序结果是否一致。
  • 对每个中间量打印或记录一次,避免整体结果错了却不知道是哪一步出错。

流程模拟题

识别特征

  • 题目强调先后顺序、轮次推进、事件触发、状态转移。
  • 每一步操作都会改变库存、人数、位置、状态或资源。
  • 输出往往是最终状态,也可能是若干关键时刻的状态。

建模方法

  • 明确状态变量是什么,例如时间、位置、库存、队列内容、是否完成。
  • 明确每一轮的更新顺序,尤其是“先判断还是先更新”。
  • 为异常分支单独写逻辑,不要全部塞进一个超长 if

程序骨架

  1. 初始化所有状态。
  2. 进入循环。
  3. 判断本轮是否满足某个触发条件。
  4. 按题目顺序更新状态。
  5. 检查结束条件并输出结果。

常见错误

  • 更新顺序错位,例如本该先扣库存再移动,却反过来执行。
  • 多个对象共享同一状态变量,导致覆盖。
  • 漏掉边界轮次或最后一次更新。
  • 异常情况没有单独处理,例如库存不足、路径断开、重复访问。

训练建议

  • 用表格列出“轮次、输入、状态变化、输出”。
  • 先只模拟 2 到 3 轮,确认过程正确后再写完整代码。
  • 对状态变化题一定要保留手工推演记录。

数据管理题

识别特征

  • 原始数据格式不统一,需要转换、筛选、去重、排序或汇总。
  • 输入像“台账”“名单”“记录流”“表格”。
  • 输出多为标准化结果、统计结果或结构化列表。

建模方法

  • 先确定每条记录至少有哪些字段。
  • 把字段清洗规则写清楚,如去空格、统一大小写、补默认值、转换类型。
  • 优先使用字典、列表和结构体组织数据,少用平行数组。

程序骨架

  1. 读取原始记录。
  2. 解析字段并校验。
  3. 标准化数据格式。
  4. 去重、筛选、分组或聚合。
  5. 输出最终结果。

常见错误

  • 数字字段当字符串排序,导致 100 排在 20 前面。
  • 去重依据选错,把本该保留的记录删掉。
  • 输出字段顺序与题面要求不一致。
  • 清洗规则写了一半,例如去掉前导空格但没有去掉尾部空格。

训练建议

  • 先写“单条记录如何转换”的小函数,再写整体流程。
  • 测试中要包含脏数据、缺失值、重复记录和极端值。
  • 复盘时重点说明“标准化规则”。

综合分析题

识别特征

  • 题目需要比较多个对象,给出排序、等级、建议或结论。
  • 常见关键词有评分、排名、分级、效率评价、策略建议。
  • 通常不是简单求和,而是要先构造指标。

建模方法

  • 把每个评价指标写清楚,是越大越好还是越小越好。
  • 如果需要综合得分,先明确权重和 tie-break 规则。
  • 输出建议时,先写判定条件,再生成文本。

程序骨架

  1. 读入原始数据。
  2. 计算单项指标。
  3. 计算综合分值或等级。
  4. 排序并处理并列规则。
  5. 生成建议或结论。

常见错误

  • 排序方向写反。
  • 并列时缺少第二关键字或第三关键字。
  • 等级边界漏写,例如 >= 80> 80 混淆。
  • 建议文本与判定条件不一致。

训练建议

  • 先手写 3 个对象的比较顺序,再写排序键。
  • 对 tie-break 规则单独设计样例。
  • 讲评时重点让学生解释“为什么排成这个顺序”。

路径规划与资源调度题

识别特征

  • 输入里出现节点、边、坐标、网格、站点、运输路线、运力或容量。
  • 题目目标是最短、最少、最低成本、最大覆盖或可行调度。
  • 很多题需要先判断“能不能到”,再判断“怎样最优”。

建模方法

  • 先确定模型是图、网格还是资源表。
  • 路径问题先定义边权:时间、距离、成本或风险。
  • 调度问题先定义资源约束:人数、车辆、库存、预算。

程序骨架

  1. 建图或建立网格。
  2. 定义代价、容量和限制条件。
  3. 选择合适算法,如 BFS、Dijkstra、贪心、DP。
  4. 记录路径或最优值。
  5. 输出路线、成本或调度方案。

常见错误

  • 无权图误用复杂算法,或有权图误用 BFS。
  • 访问标记时机错误,导致重复扩展或漏掉更优解。
  • 路径存在但容量不满足,程序却误判为可行。
  • 只输出最短距离,没有恢复路径。

训练建议

  • 先做小图手推。
  • 区分“求值”和“恢复方案”两种要求。
  • 题后复盘一定要写清楚为什么选 BFS、Dijkstra、贪心或 DP。

趋势分析题

识别特征

  • 数据带时间维度,例如天、周、月、阶段。
  • 需要找增长、下降、波动、峰值、均值或预测结果。
  • 常见做法是排序、滑动窗口、均值、差分或前缀和。

建模方法

  • 先按时间排序,确保分析顺序正确。
  • 明确需要的是单点比较、相邻差值还是区间统计。
  • 如果有缺失值,先决定补零、忽略还是延续上一个值。

程序骨架

  1. 读入并按时间排序。
  2. 清洗缺失或异常值。
  3. 计算窗口统计量或差值。
  4. 比较趋势并输出结论。

常见错误

  • 时间顺序混乱。
  • 把总量变化误判为增长率变化。
  • 滑动窗口左右边界写错。
  • 预测题混淆“延续趋势”和“重新估计”。

训练建议

  • 每次分析都要求学生先画一条简单折线草图。
  • 先做 5 个点以内的小样例,再处理完整数据。
  • 把“原始值、窗口值、结论”分开写出。

传播仿真题

识别特征

  • 涉及渠道、节点、受众、覆盖、扩散、转发、影响范围。
  • 通常分轮次传播,或按照规则在网络中扩散。
  • 输出常是覆盖人数、传播轮数、最终受影响范围。

建模方法

  • 把“谁会传播给谁”抽象成图或邻接关系。
  • 把“已接收”“可再传播”“不可传播”设计为不同状态。
  • 明确传播延迟、次数上限、渠道容量等规则。

程序骨架

  1. 建立传播网络。
  2. 初始化起点集合。
  3. 按轮或按时间推进传播。
  4. 更新已覆盖节点和可传播节点。
  5. 汇总传播结果。

常见错误

  • 同一节点被重复统计。
  • 传播轮次 off-by-one。
  • 忽略渠道限制或受众过滤规则。
  • 没有区分“已收到但不能继续传”和“已收到且还能传”。

训练建议

  • 优先使用队列或集合管理状态。
  • 手推时画传播层级图。
  • 测试中必须包含重复到达和断点传播两种情况。

规则决策与资源分配题

识别特征

  • 题目出现多个条件、预算限制、容量限制、优先级或目标函数。
  • 需要在一堆候选方案里选一个可行或最优方案。
  • 既可能是简单规则判断,也可能进入贪心或动态规划。

建模方法

  • 先把自然语言规则翻译成布尔条件。
  • 再判断是可行性问题、最优性问题还是多目标平衡问题。
  • 如果对象数量较小,可枚举;如果规模较大,要考虑贪心或 DP。

程序骨架

  1. 解析约束条件。
  2. 定义状态或候选方案。
  3. 枚举、筛选或优化。
  4. 比较方案优劣。
  5. 输出最优值和方案说明。

常见错误

  • 只检查局部条件,没有检查全局约束。
  • 多个条件关系写错,把“且”写成“或”。
  • 贪心策略没有证明或验证就直接采用。
  • 输出了最优值,却没有输出对应方案。

训练建议

  • 先做“小规模全枚举”验证思路。
  • 对贪心类题,至少构造一个反例检验策略是否可靠。
  • 如果进入 DP,要先说清楚状态定义和转移含义。

赛后复盘建议

每道题复盘时建议固定回答以下问题:

  1. 这道题属于哪一类题型,为什么。
  2. 数据对象、状态变量或图模型是什么。
  3. 核心算法步骤是什么。
  4. 最容易写错的两处在哪里。
  5. 如果重做一次,程序结构会如何优化。