ACM-搜索
tick_tokc97
这个作者很懒,什么都没留下…
展开
-
HDU 1043 eight (Astar 八数码)
八数码问题是搜索算法中非常著名的问题,HDU这道八数码通过普通搜索无法通过,这里需要用到A* 算法或者双向广搜,这里我选择使用A* 算法来实现,借此机会学习一下A*算法原创 2017-05-02 08:40:33 · 268 阅读 · 0 评论 -
POJ 2362 square(DFS范例题)
POJ 2362 square 题意就是问能否构成正方形,本题通过DFS来实现,可看做DFS经典范例原创 2017-05-02 08:35:13 · 330 阅读 · 0 评论 -
bfs+状态记录(扩展标记实现)
广搜并记录状态,通过扩展标记实现原创 2017-05-02 08:31:46 · 290 阅读 · 0 评论 -
HDU 2063 过山车(DFS解法)
这道题是一个基础二分匹配的题目,由于博主在做这道题的时候还没有学习二分匹配的知识,就用DFS强行怼过去了原创 2017-05-02 11:53:19 · 267 阅读 · 0 评论 -
POJ 1190 生日蛋糕(DFS+剪枝)
本题是一道DFS+剪枝的经典例题,详情请看代码注释,里面按照我个人的理解进行了详细的解释原创 2017-05-03 10:10:25 · 360 阅读 · 0 评论 -
POJ 2243 Knight Moves(A*算法)
本题题意非常简单,就是给你一个起点和一个终点,按骑士的走法,从起点到终点的最少移动多少次。可以采用双向广搜或者A*算法来解决,这里博主选择了采用A*算法来解决。其中g函数为走到当前状态的经过的步数,启发函数h为当前点到终点的曼哈顿距离,用优先队列保存每个状态按照g+h排序代码如下原创 2017-05-03 10:21:18 · 409 阅读 · 0 评论 -
bfs+路径记录(数组模拟队列实现)
带路径记录的bfs问题,用数组模拟队列,以此来记录数组下标,可以回溯路径原创 2017-05-02 08:28:49 · 1486 阅读 · 0 评论 -
埃及分数(迭代加深搜索)
迭代加深搜索,实质上是限定下界的深度优先搜索。即首先允许深度优先搜索K层,若没有发现可行解,再将K+1后重复以上步骤搜索,直到搜索到可行解。迭代搜索深度是一个比较炫酷的搜索方式,不过有点拿时间换空间的感觉。首先迭代深度比较搓的写法是,首先设置一个阀值MaxH,初始为最小值。当在搜索深度Depth <= MaxH时找到解则此时为最优解,否则MaxH++,继续深搜。另外一种比较吊的写法是二分搜索深度,若原创 2017-05-03 11:40:44 · 682 阅读 · 0 评论