搜索时的剪枝
2016-11-05 11:04
218 查看
一:普通剪枝(可行性剪枝)
搜索时加入判断条件,越界没越界,走没走过,已经找到符合条件的路了吗......
二:从起点到终点的最短路径的题(最优化剪枝)
走到一点,可判断是不是已经大于当前最短路径了,是不是此时的路径长度+到此时到终点最短距离已经大于当前最短路径了......
三:从起点到终点的路径长度可否等于一个给出的距离,如HDU1010
不光要判断是否已经找到符合条件的路了,还要进行奇偶性剪枝(可行性剪枝)
代码中T-step为剩余的步数或者说时间
dis1+dis2为此点到终点最小剩余步数
从一个点到另一个点的步数可以不一样,但奇偶性一样
如果最短走偶数步,说明从这里到终点一定为偶数步,如果剩余的的时间是奇数,不可行
如果最短走奇数步,说明从这里到终点一定为奇数步,如果剩余的的时间是偶数,不可行
轻易得出:
奇数-偶数 = 奇数,偶数-奇数 = 奇数
奇数-奇数= 偶数,偶数-偶数=偶数
所以T-step-(dis1+dis2)为偶数才有机会满足规定时间到终点
搜索时加入判断条件,越界没越界,走没走过,已经找到符合条件的路了吗......
二:从起点到终点的最短路径的题(最优化剪枝)
走到一点,可判断是不是已经大于当前最短路径了,是不是此时的路径长度+到此时到终点最短距离已经大于当前最短路径了......
三:从起点到终点的路径长度可否等于一个给出的距离,如HDU1010
不光要判断是否已经找到符合条件的路了,还要进行奇偶性剪枝(可行性剪枝)
代码中T-step为剩余的步数或者说时间
dis1+dis2为此点到终点最小剩余步数
从一个点到另一个点的步数可以不一样,但奇偶性一样
如果最短走偶数步,说明从这里到终点一定为偶数步,如果剩余的的时间是奇数,不可行
如果最短走奇数步,说明从这里到终点一定为奇数步,如果剩余的的时间是偶数,不可行
轻易得出:
奇数-偶数 = 奇数,偶数-奇数 = 奇数
奇数-奇数= 偶数,偶数-偶数=偶数
所以T-step-(dis1+dis2)为偶数才有机会满足规定时间到终点
相关文章推荐
- 第八天:poj1010(深度搜索+剪枝,之前完全没有接触过,所以不会,所以多学!!)
- Croc Champ 2013 - Round 2 (Div. 2 Edition) 贪心+ 搜索+剪枝 + 数学
- new poj 2362 搜索(今年比赛带的程序清单应该包含题目)(多个剪枝条件,)(大开眼界)(作复杂的题才会有进步)
- 【DFS迭代加深搜索+剪枝】POJ_1011_Sticks
- Luogu P1092 虫食算【搜索/剪枝】 By cellur925
- 小木棍-搜索剪枝
- HDU 4620 Fruit Ninja Extreme(2013多校第二场 剪枝搜索)
- POJ 2790 Consecutive ones (搜索 + 剪枝)
- 【BZOJ4325】NOIP2015 斗地主 搜索+剪枝
- 1103. Integer Factorization (30)【搜索+剪枝】——PAT (Advanced Level) Practise
- Regionals 2009 >> Asia - Hsinchu UVALIVE, 4529 A Constrained Queen Game - 搜索剪枝
- [Vijos1308]埃及分数(迭代加深搜索 + 剪枝)
- POJ 1085 Triangle War 博弈 (对抗搜索 alpha-beta 剪枝)
- HDU 1010 搜索+剪枝
- 【POJ3411】-Paid Roads 搜索剪枝
- [HDU 4277](长春 1011 )搜索+剪枝
- HDU 4474 Yet Another Multiple Problem(数位搜索+余数剪枝)
- poj 1011 sticks 搜索加剪枝
- BZOJ 1224: [HNOI2002]彩票 搜索,上下界剪枝,前缀和优化
- POJ-1054 The Troublesome Frog 搜索+剪枝 Or DP+Hash