随笔分类 - 递归
摘要:题意 这道题题意是很有趣的,我记得在勇者斗恶龙六里面有一点,在一个有冰的洞穴里面,人物的移动方式就是这道题所说的方式,不过这道题有一个特殊之处,就是人物碰到墙的同时会在墙面前停下开,同时,面前的墙会消失掉,这就需要我们在遍历时要做好回溯 这道题是要求最少步数,所以一开始我是想用bfs,但是题目有个条
阅读全文
摘要:题目描述 本地的重要启示: 在接下来对每一个子问题进行搜索前可以先获得该子问题的搜索目标的极限,通过该极限可以判断对该子问题搜索出的解能否比当前最优解更优;或对该子问题搜索出的搜索目标能否满足要求,如果不能,就没必要了搜下去了,直接跳过对该子问题的搜索。该剪枝可以有效减小对某一子问题的搜索深度。 这
阅读全文
摘要:题干描述 就是一个数独问题 这道题说是简单题,但是我觉得这个“简单”是在对数据结构,递归非常熟悉的基础上,对于我这种新手其实并不简单,也有很多坑等我我去踩 这道题说是剪枝,但是我觉得主要妙点还是好在gw老师的设置的数据结构太好了。见代码。 当要在一个空格子(0)放数字时,直接放那些在这个空格子所在行
阅读全文
摘要:直接来看代码,来体会递归~ 事实上,这个代码是最最让我体会到递归之美的~ 好美啊~好妙啊~
阅读全文
摘要:递归算法就是通过解决同一问题的一个或多个更小的实例来最终解决一个大问题的算法。为了在C语言中实现递归算法,常常使用递归函数,也就是说能调用自身的函数。递归程序的基本特征:它调用自身(参数的值更小),具有终止条件,可以直接计算其结果。 在使用递归程序时,我们需要考虑编程环境必须能够保持一个其大小与递归
阅读全文
摘要:题目描述 递归函数中为什么最后有一个 =false? 这个问题一开始我胡思乱想了很多,请教了大佬,在自己也想了想,其实答案就只是:要把它标记为false,因为别的路径可能还会访问到它 这种写法在大佬看来是要超时的,没有超时的原因在于深色高亮部分代码: if(step>min) return; 另外,
阅读全文

浙公网安备 33010602011771号