![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm之搜索
slmady
学习记录
展开
-
hdu1175(教你记录搜索时方向的变化次数)
#include#include#include#include#include#include#include#include#include#include#include#define eps 1e-9#define N 1005#define P system("pause")using namespace std;int n,m,flag;int a[N原创 2014-01-25 22:04:32 · 667 阅读 · 0 评论 -
hdu1180(广搜+优先队列)
此题要求最少到达目标点T的最短时间,所以我选择了广度优先搜索,并且要用到优先队列。另外此题注意点较多,比如说可以在某个点停留,我wa了好多两次,就是因为忽略了这一点,然后参考了大神的思想,然后经过反复修改才AC的这是我的代码#include#include#include#include#include#include#include#include#i原创 2014-01-25 21:44:55 · 810 阅读 · 0 评论 -
hdu1240、hdu1253(三维搜索题)
#include#include#include#include#include#include#include#include#include#include#include#define N 15#define eps 1e-9#define P system("pause")using namespace std;struct node{ int x,y原创 2014-01-27 10:32:18 · 771 阅读 · 0 评论 -
hdu1254(嵌套bfs,两次bfs)
/*第一次做这种题感觉很有压力,思路还是有点混乱,总是wa,改了好多次才ac的思路:把箱子的移动当做第一层bfs,队列节点要用到当前箱子坐标(x,y),走的次数step,当前人的weizhi(man_x,man_y),要判断人能否将箱子推到某点时要嵌套第二层bfs(人的移动);代码如下:原创 2014-01-29 16:17:31 · 786 阅读 · 0 评论 -
hdu1401(双广搜)
已知开始状态和目标状态,并且具有可逆性,采用双广搜;用八维hash数组记录四个棋子的位置(要对四个棋子的坐标排序,迫使棋子一一对应)。下面的代码是参考大神写的,自己刚学双搜。#include#include#include#include#include#include#include#include#include#include#include#define原创 2014-01-30 20:02:59 · 1027 阅读 · 0 评论 -
hdu1043(八数码问题,广搜 + hash(实现状态压缩) )
利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。#include#include#include#include#include#include#include#include#include#include#include#define eps 1e-9#define N 400000#define P system("pause")using原创 2014-01-28 21:49:02 · 1104 阅读 · 0 评论 -
hdu1429(广搜+状态压缩(位压缩))
一开始用广搜来做,超内存了,然后参照网上的资料,用位压缩来做,头一次做这种题,但个人感觉还是很好理解的,稍微看了一下就懂了,然后自己写了个程序。思路:一个有10把钥匙,用10个位来表示,例如100(4)表示只有第三把钥匙,1100(12)表示有第三四把钥匙。代码如下:#include#include#include#include#include#include#i原创 2014-01-31 21:11:31 · 768 阅读 · 0 评论 -
认识、理解、分类——acm之搜索
普通搜索方法有两种:1、广度优先搜索;2、深度优点搜索;更多搜索方法:3、双向广度搜索;4、启发式搜索(包括A*算法等);原创 2014-01-27 11:47:24 · 681 阅读 · 0 评论 -
poj1381(复数除法+dfs)
题意:已知复数 X = XR + XIi 和 B = BR + BIi,X = a0 + a1B + a2B^2 + a3B^3 ....... anB^n,求满足一定条件的a0,a1,....an 思路分析:ai的范围很小,所以可以用dfs搜索解。对于X = a0 + a1B + a2B^2 + a3B^3 ....... anB^n,每次X - ai,之后X/B,这里用到了复数的除法,如果原创 2014-08-27 14:57:55 · 852 阅读 · 0 评论