1、回溯法 (1)描述:回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法。 (2)原理: 回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点 ...
分类:
其他好文 时间:
2016-05-17 07:28:05
阅读次数:
598
1、回溯法 (1)描述:回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法。 (2)原理: 回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点 ...
分类:
其他好文 时间:
2016-05-17 07:27:23
阅读次数:
287
http://acm.hdu.edu.cn/showproblem.php?pid=1010 折磨我一下午 题目大意: 从s点走到d点能否恰好走k步 刚开始以为是广搜,其实是深搜。 dfs多优化一下才会过。 ...
分类:
其他好文 时间:
2016-05-13 09:56:49
阅读次数:
187
hdu 2717 Catch That Cow,题目链接 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 11466 Accepted Submission(s): 3551Problem DescriptionFarmer Joh...
分类:
其他好文 时间:
2016-05-12 15:05:44
阅读次数:
202
希望确定是否有一种可将所有n个货箱全部装船的方法。若有的话,找出该方法。
主要思想:即求第一艘船的最大装载量问题。每种货物有装和不装两种情况,n个货物的取舍组合共2^n次个分支。
C++代码:#include
#include
#include
using namespace std;double MaxLoading(const vect...
分类:
其他好文 时间:
2016-05-07 10:34:01
阅读次数:
373
做这个题的时候我给想简单了,还以为是个基础的广搜,后来发现搜索无法完成,因为vis的标记已经不能再使用了,因为一旦标记了,同一个结点不能走两次,而题目中有的时候有些点必须要走两次,甚至多次. 我就无从下手了,赛后看了题解才知道,每个点都有16个状态,用状态压缩可以来保存每个点的钥匙状态,开一个三维的 ...
分类:
其他好文 时间:
2016-05-03 12:09:51
阅读次数:
184
一开始是MLE,后来想到了用vector,化二维为一维,做了这一步优化后,这就是很基础的一个广搜了 ...
分类:
其他好文 时间:
2016-04-30 16:45:36
阅读次数:
135
用优先队列式分支限界法解决0-1背包问题的算法思想:
1.分支限界法常以广度优先或最小耗费优先(最大效益优先)方式搜索问题的解空间树, 对于0-1背包问题的解空间树是一个颗子集树。
2.在分支限界法中有一个活结点表,活结点表中的每个活结点只有一次机会成为扩展结点,一旦成为 扩展结点就一次性产生所有儿子结点,在这些儿子结点中,导致不可行解或导致非最优解的儿子 结点被舍弃,其余儿子结点被加入到活...
分类:
其他好文 时间:
2016-04-29 17:38:26
阅读次数:
527
题意:按层次遍历二叉树 思路:对于不会建树的同学,直接广搜即可 ...
分类:
其他好文 时间:
2016-04-25 22:39:29
阅读次数:
178
题意:就是给你n组的四位数,在一次变化中又一位数字可以变化,而变化的方式为加一减一或者是与隔壁的互换,注意,是每一个数字都可以, 求最少的变化次数到达目标的数字 一看这个就应该知道这是一个bfs的题目,广搜么,不过要注意的就是标记,不然很有可能也出不来 我的代码写的比较繁琐,也比较糙,这个写的太复杂 ...
分类:
其他好文 时间:
2016-04-17 14:41:34
阅读次数:
160