码迷,mamicode.com
首页 >  
搜索关键字:迭代加深搜索    ( 86个结果
11212 - Editing a Book(IDA*算法)
又一道迭代加深搜索,从小到大枚举上限 。   关键的剪枝部分是写出启发函数,这个比较难。。 不过每次剪切后,不正确的数字个数最多减三还是很好理解的,因为我们算不正确数字个数的方法是看当前数字+1是不是等于下一个数字 。 所以每次剪切最多只有3个数字的后继数字发生了改变。  那么 剪枝条件就显而易见了 。 代码如下: #include using namespace std; const in...
分类:编程语言   时间:2015-08-05 10:31:49    阅读次数:156
11214 - Guarding the Chessboard(暴力搜索)
IDA*算法, 从小到大枚举深度上限,不过该题是有深度上限的,题目中的第一个样例表明:最多需要5个皇后就可以覆盖整个棋盘 。  利用紫书上的技巧,我们可以快速的判断任意两个棋子是不是在同一行、同一列、同一对角线 (详情见紫书P193那两个图)。  这样之后暴力搜索就可以了 。 每一层需要O(nm)的复杂度,但是实际上并不需要那么大的复杂度 。和八皇后问题类似 , 当前行之前的行已经放置了皇后,...
分类:其他好文   时间:2015-08-05 08:57:48    阅读次数:194
12558 - Egyptian Fractions (HARD version)(IDA*算法)
IDA*算法,迭代加深搜索和A*算法的结合 。 迭代加深搜索适用于那些没有明显深度上限的题目,将深度从小到大枚举,直到找到最优解 ,减小了深搜的盲目性 。 A*算法需要一个乐观估价函数,在这个函数里寻找一个代价最小的点去搜索,所以时间复杂度都浪费在这个上面了 。 其实我照着紫书上巧的,感觉很容易,实际上其中的算法思想是要静下心来仔细研究的,练ACM这么久了,深深感到这个竞赛是那么的迷人,又是...
分类:编程语言   时间:2015-08-04 21:06:59    阅读次数:163
BZOJ 1085: [SCOI2005]骑士精神( IDDFS + A* )
一开始写了个 BFS 然后就 T 了...这道题是迭代加深搜索 + A*------------------------------------------------------------------------------#include#include#include#include#def...
分类:其他好文   时间:2015-07-09 12:38:55    阅读次数:157
UVA_埃及分数(Hard Version) UVA 12588
迭代加深搜索基础题
分类:其他好文   时间:2015-04-30 00:49:13    阅读次数:123
POJ 2248 迭代加深搜索
a[0]=1;  a[1]=2; 之后每个数可以由前面的任意两个数相加得到(可以是同一个数),问得到数字N的最短序列 N最大为100,迭代加深搜索打表 #include "stdio.h" #include "string.h" int w; int pri[110][15]; // 记录答案 int len[110]; // 数字N所需长度 int seq[110]; // DFS的每一...
分类:其他好文   时间:2015-04-28 11:45:13    阅读次数:103
埃及分数问题
样例输入:495  499 样例输出:495/499 = 1/2+1/5+1/6+1/8+1/3992+1/14970 规则是加数少比加数多好,加数相同,小的数越大越好。 分析:回溯无限,宽度优先便利一层都跑不完,所以用迭代加深搜索(iterative deeping):从小到达枚举深度上线maxd,枚举上限还可以减枝。 IDA*算法:深度上线maxd,当前节点n的深度为g(n),乐观估价...
分类:其他好文   时间:2015-04-27 15:19:09    阅读次数:118
搜索专题小结:迭代加深搜索
迭代加深搜索 迭代加深搜索(Iterative Deepening Depth-First Search, IDDFS)经常用于理论上解答树深度上没有上界的问题,这类问题通常要求出满足某些条件时的解即可。比如在“埃及分数”问题中要求将一个分数a/b分解成为若干个形如1/d的加数之和,而且加数越少越好,如果加数个数相同,那么最小的分数越大越好。下面总结一下该方法的一般流程: (1)概述:迭代加深...
分类:其他好文   时间:2015-04-12 09:22:44    阅读次数:157
例题7-12 旋转游戏 UVa1343
1.题目描述:点击打开链接 2.解题思路:本题利用迭代加深搜索解决。好久没做这个专题了,感觉这种方法有点力不从心,不会寻找估价函数是硬伤。。。只好学一学别人的代码。 本题要求棋盘中间的8个方格都要是相同的数字。紫书上说是利用状态空间搜索解决,大致模板还是八数码问题的模板。但是写了半天最后WA了,感觉这道题用那个模板写出来会很复杂。最后看别人的代码,才发现大多都是利用迭代加深搜索解决的,代码量也...
分类:其他好文   时间:2015-04-11 18:01:30    阅读次数:161
迭代加深搜索求字符串最小周期
1 //==================================================== 2 //迭代加深搜索求字符串最小周期; 3 //==================================================== 4 5 #include ...
分类:其他好文   时间:2015-03-20 20:08:32    阅读次数:121
86条   上一页 1 ... 5 6 7 8 9 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!