--------搜索题
lkj41110
这个人很懒,没有写下什么
展开
-
八数码之A*解决方法
学习过A*算法后,通过计算出每个节点的f值,在把队列里的节点通过对f的大小进行排列。 f=h+g g是已经走过的步数,h为还需要最少的步数。#include<iostream> using namespace std; const int MAXX = 1000000; struct Node { char tile[10]; int pos; int parents;原创 2016-03-02 10:23:31 · 383 阅读 · 0 评论 -
hdu 1258和ZJU 1711 Sum It Up(dfs经典索搜)
http://acm.hdu.edu.cn/showproblem.php?pid=1258 我的第一道索搜题,想了半天还是没有办法去除重复的情况,看了别人的结题报告才知道这么简单,就是用一个变量保存上一次的节点就行。#include <cstdio> #include <string> int a[12], n, m, f, c, d[12],l; void dfs(int, int); voi原创 2016-02-20 14:51:06 · 611 阅读 · 0 评论 -
过桥问题(dfs)
用四个数表示四个物体,0,和1代表两岸,所以问题是(0,0,0,0)转换成(1,1,1,1),再用dfs就可以解决。#include<iostream> using namespace std; int s[16]; int xu(int a, int b, int c, int d){ return 1 * a + 2 * b + 4 * c + 8 * d; } int isOk(int原创 2016-02-21 17:22:54 · 361 阅读 · 0 评论 -
hdu1415和poj 1415 Jugs
http://acm.hdu.edu.cn/showproblem.php?pid=1415这个hdu的题目有问题,应该是把b的水变为t,第一次wr了,看第二个例子就可以看出是把b的水变为t。浙江大学oj是正确的。 用bfs遍历,用一个二维数组保存前面的状态和倒水的方式就行,1-6分别代表6种不同的倒水方式。就可以解决,但是还是用了1个小时而且代码比较冗长。。。。#include<iostream原创 2016-02-22 13:14:24 · 454 阅读 · 0 评论 -
hdu 1242 Rescue(A*索搜)
http://acm.hdu.edu.cn/showproblem.php?pid=1242 题意是从r找到a,路过.时间+1,路过x时间+2,#围墙,求最短的时间。 用a[n][m]保存位置,围墙为-1,.为1,x为2。用A*索搜计算出每一步的f值,在通过优先队列f最小的开始出队列,直到找到为止。s为当前已用的时间。 h为预测到目标地点的时间下界。 f=s+h;代码:#include<iost原创 2016-02-23 11:14:06 · 365 阅读 · 0 评论 -
hdu1253 胜利大逃亡(三维bfs索搜)
http://acm.hdu.edu.cn/showproblem.php?pid=1253第一次做做三维的,思路跟二维的没有区别。这道题目第一次出现Memory Limit Exceeded 这种问题,找了很长时间才发现应该是先判断在存入,可以省很多内存。代码:#include<iostream> #include<queue> using namespace std; int s[51][51]原创 2016-02-24 13:55:41 · 334 阅读 · 0 评论 -
双向广度优先搜索(介绍)
双向广度优先搜索 广度优先搜索遵循从初始结点开始一层层扩展直到找到目标结点的搜索规则,它只能较好地解决状态不是太多的情况,承受力很有限。如果扩展结点较多,而目标结点又处在较深层,采用前文叙述的广度搜索解题,搜索量巨大是可想而知的,往往就会出现内存空间不够用的情况。双向搜索和A算法对广度优先的搜索方式进行了改良或改造,加入了一定的“智能因素”,使搜索能尽快接近目标结点,减少了在空间和时间上转载 2016-02-26 20:24:34 · 757 阅读 · 0 评论 -
八数码之双广解决方法
从起始状态和末尾状态分别进行bfs,每次从队列节点少的队列进行遍历,当两个队列重合的时候就是找到答案的时候。#include<iostream> using namespace std; #define SWAP(a, b) {char t = a; a = b; b = t;} const int MAXN = 200000; struct Node{ char tile[10];原创 2016-02-27 21:07:46 · 333 阅读 · 0 评论