搜索:A*算法
文章平均质量分 80
skajre
这个作者很懒,什么都没留下…
展开
-
POJ 1324 Holedox Moving(A*+状态压缩)
// // main.cpp // Richard // // Created by 邵金杰 on 16/8/25. // Copyright © 2016年 邵金杰. All rights reserved. // #include #include #include #include using namespace std; struct node{ int x,y,s,原创 2016-08-25 08:55:53 · 249 阅读 · 0 评论 -
POJ 2449 Remmarguts' Date(A*+第k短的路)
通常在解决问题的时候,我们需要用到搜索算法,由已知状态推出新的状态,然后检验新的状态是不是就是我们要求的最优解。检验完所有的状态实际上就相当于遍历了一张隐式图。遗憾的是,所有的状态组成的状态空间往往是成指数级别增长的,也就造成了遍历需要用到指数级别的时间,因此,纯粹的暴力搜索,时空效率都比较低。当然,我们在生活中遇到了类似于搜索的问题,我们并不会盲目地去搜寻每一种状态,我们会通过我们的思维,选择一原创 2016-08-25 21:44:59 · 373 阅读 · 0 评论 -
POJ 1475 Pushing Boxes(A*)
股价函数f(n)=g(n)+h(n),h(n)=0,g(n)为push和walk,push优先于walk。 在处理箱子和输出时很巧妙。// // main.cpp // Richard // // Created by 邵金杰 on 16/8/26. // Copyright © 2016年 邵金杰. All rights reserved. // #include #include原创 2016-08-26 14:20:43 · 445 阅读 · 0 评论 -
POJ 1077(HDU 1043) Eight(八数码A*算法)
通过演算发现每次一动,逆序对增加一定是偶数对,如果出现奇数则肯定不符合要求,所以要事先判断否则会超时。奇偶剪枝是一种非常常用的剪枝方法,如果在搜索中超时,可以尝试奇偶剪枝。 // // main.cpp // Richard // // Created by 邵金杰 on 16/8/24. // Copyright © 2016年 邵金杰. All rights reserved. //原创 2016-08-24 08:12:47 · 411 阅读 · 0 评论