C++ 竞赛入门

题目练习

递归单元练习

每道题先写出三个句子:函数参数表示什么,边界是什么,每次调用怎样让问题变小。使用小数据画出调用树,确认不会漏分支或无限递归后再提交。

难度 题目 题解 训练目标
基础 洛谷 P1028:数的计算 题解 有返回值的递归计数。
基础 洛谷 P1036:选数 题解 组合枚举和递归边界。
基础 洛谷 P1157:组合的输出 题解 固定长度选择。
巩固 洛谷 P1706:全排列问题 题解 used 状态和回溯恢复。
巩固 洛谷 P1605:迷宫 题解 网格 DFS、访问标记与回溯恢复;先处理格子访问,再走向下一格。
挑战 洛谷 P1219:八皇后 题解 在排列枚举上增加合法性判断与剪枝。

完成后复盘一题:指出状态变量在哪一行修改、在哪一行恢复,以及删掉恢复语句会导致什么错误。