
搜索-BFS
Z-Pilgrim
这个作者很懒,什么都没留下…
展开
-
HDU 1548 BFS 基础题
裸题需注意:一、需要注意开vis数组记录;二、关于状态的数组开多大。估计最坏的情况,开的略微大一点就可以三、Pop().用t=q.front(),然后pop(),会很方便四、因为没有每次清空队列而WA好多次,解决办法,1、自己写队列;2、每次都新建一个队列,可以将队列传递。比如在while循环里建队列,然后可以传递队列,在参数列表里queue &s即可,重新建队列效率明显比原创 2013-09-14 09:26:31 · 1455 阅读 · 0 评论 -
Leetcode 130. Surrounded Regions
https://leetcode.com/problems/surrounded-regions/description/我是BFS写的,这里有个小Trick,就是BFS的起点其实可以不是一个点,思路是只要从所有边界点开始BFS就行。代码有点长,但是看了discuss的代码 基本思路都一样 无非是DFS/BFSconst int SIZE = 2000 + 10;int visit[原创 2018-01-11 00:32:14 · 125 阅读 · 0 评论 -
hdu 4474 BFS+思维题
http://acm.hdu.edu.cn/showproblem.php?pid=4474如果A%n ==B %n (A犯得二逼错误:1、需要记录每一位,不是mod%10就是每一位2、第一位枚举1~9,但是仍然需要%n3、必然需要高精度,开始ll WA到死#include #include #include #include using namespace s原创 2014-10-20 16:49:40 · 1073 阅读 · 0 评论 -
hdu 2209 bfs+状压
http://acm.hdu.edu.cn/showproblem.php?pid=2209不知为啥有种直觉,会出状压+搜索的题,刷几道先简单的BFS,状压表示牌的状态,//#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include原创 2014-10-17 17:57:30 · 1113 阅读 · 0 评论 -
hdu 5012 bfs --- 慎用STL 比如MAP判重
http://acm.hdu.edu.cn/showproblem.php?pid=5012先贴一份自己的TLE 代码,超时应该是因为:1、cin2、map判重 map find太花时间3、string花时间#include #include #include #include #include #include #include using names原创 2014-10-05 00:40:04 · 1876 阅读 · 0 评论 -
hdu 1226 BFS + bfs记录路径
http://acm.hdu.edu.cn/showproblem.php?pid=1226为了省空间,可以用vis数组初始化的时候初始化为-1,发现一个BFS容易错的地方 开始一直WA在这里:就是我int tp=q.front();之后马上q.pop();了,然后才去判断是不是符合条件以break,这样就不能根据q.empty()==1认为没有找到ans 因为这里WA了其实也可以vi原创 2014-10-04 23:06:14 · 968 阅读 · 0 评论 -
hdu 5040 BFS 多维化处理图
http://acm.hdu.edu.cn/showproblem.php?pid=5040跟这一题http://blog.youkuaiyun.com/u011026968/article/details/39586669算是异曲同工。所以比较容易想到了vis[4][MAXN][MAXN] 表示监控摄像头转4个方向那个3秒跟蛇也很像,可是处理起来还有点麻烦,参考了这里:http://bl原创 2014-09-28 20:29:42 · 1138 阅读 · 0 评论 -
hdu 5025 BFS + 优化 广东区域赛网赛
http://acm.hdu.edu.cn/showproblem.php?pid=5025TLE了好几次写的时候,问题在于,1、钥匙怎么处理参考了他人的写法,vis[key_num][i][j],相当于将图多维化,这样就可以判重了,否则只是按照普通的BFS,钥匙数不同的时候,可以重复,这个代码难易表达出来2、蛇怎么处理没蛇的话,第一次搜到的可行解就是最优解,有蛇的话,原创 2014-09-26 21:37:07 · 1140 阅读 · 0 评论 -
hdu 4308 Saving Princess claire_ BFS
为了准备算法考试刷的,想明白一点就行,所有的传送门相当于一个点,当遇到一个传送门的时候,把所有的传送门都压入队列进行搜索贴代码:#include #include #include #include #include using namespace std;const int MAXN = 5000+50;int r,c,f,si,sj,ei,ej,ans;原创 2014-07-17 20:33:09 · 983 阅读 · 0 评论 -
poj 2243 BFS搜索
#include#include#includeusing namespace std;typedef struct{ int px; int py; int dis;}node;queueq;int main(){ char cx,cy; int a,b,i,j,x,y,m,n; bool map[9][9]; node tmp,s[原创 2013-09-14 09:40:14 · 1275 阅读 · 0 评论 -
poj 2386 DFS搜索基础
http://acm.hdu.edu.cn/showproblem.php?pid=3766不多说了,判断合理的话 直接1Y#include#include#includeusing namespace std;typedef struct{ int px; int py; int dis;}node;queueq;int main(){原创 2013-09-14 09:42:59 · 1406 阅读 · 0 评论 -
*Leetcode 127. Word Ladder
https://leetcode.com/problems/word-ladder/description/搜索题,练习数据结构和估算时间了。我的做法,构建图,然后BFS。据说从end找begin会快一点。struct Node { int word_id; int pre; int depth; Node(int wi, int pre, int d)原创 2018-01-08 23:09:38 · 193 阅读 · 0 评论