本题就是考剪枝法了。
应该说是比较高级的应用了。因为要使用heuristic(经验)剪枝法。要总结出这个经验规律来,不容易。我说这是高级的应用也因为网上太多解题报告都没有分析好这题,给出的程序也很慢,仅仅能过掉,由此看来很多人没有做好这道题。
这里我需要更正一下网上流行的说法:奇偶剪枝法。
其实本题使用奇偶剪枝法并不能太大提高速度,只能说仅仅让使用奇偶剪枝过掉。所以网上说本题使用奇偶剪枝的,其实并不能提高速度。
原因:
奇偶剪枝只能剪枝一次,不能在递归的时候剪枝,因为只要初始化位置符合奇偶性,那么之后的任...
分类:
其他好文 时间:
2014-06-21 21:09:32
阅读次数:
178
二维的数组,比如i,j相加是偶数,目标相加是偶数,则只能经过偶数步,如果所给是奇数步,自然就无需再算,肯定不成功。
分类:
其他好文 时间:
2014-05-26 22:06:14
阅读次数:
248
奇偶剪枝:
对于从起始点 s 到达 终点 e,走且只走 t 步的可达性问题的一种剪枝策略。
如下列矩阵 :
从任意 0 到达 任意 0,所需步数均为偶数,到达任意 1 ,均为奇数。反之亦然
所以有,若s走且只走 t 步可到达e,则必有t >= abs(s.x - e.x) + abs(s.y - e.y),且 (t&1) == ((abs(s.x - e.x) + abs(s.y - ...
分类:
其他好文 时间:
2014-05-08 17:31:15
阅读次数:
305