搜索
weixin_43331783
/p/px5xQRGVPD/
展开
-
【复习】hdu1312red and black
搜索模板题经典题 这道题就是搜索从@这里联通多少个。所以输入图标记起点(由于起点可能会重复遍历所以标记)从起点出发用dir模拟上下左右方向(如果有斜线只需要更改dir即可在刘汝佳的书上使用两个循环模拟也可,只是我觉得这个方法普适性较大就这样使用)具体搜索分三个模块,一模拟,二判断(看是否可以走下一步并且标记走的地方,这里最好写一个函数,看起来清晰)三具体要求(比如说到底是求连通块数量,而是路径长)...原创 2019-03-19 20:05:46 · 68 阅读 · 0 评论 -
【复习】hdu1241Oil Deposits
跟之前很像啊搜索基础题 基本思路: 1.模拟(这里注意斜线) 2.判断,常规操作没什么注意点 3.具体要求,这里要求的是连通块数量。所以我们每找到一个@就将@周围所有全部标记,然后再找下一个没有标记的@这时record数量,达到目的。 几个注意点: 1.由于是每找到一个起点就要搜索,所以要先把图输入,不能变输入便记录起始点了 2.模拟方向 #include<iostream> #...原创 2019-03-19 21:06:13 · 96 阅读 · 0 评论 -
hdu1016Prime Ring Problem搜索素数环
搜索基础题。 虽然跟搜索图不同但是思想是一致的。 1.模拟(这里是搜索) 2.判断 3.具体要求。 这里是在每一个选项选择不同的数据也就是搜索的核心。(return!)然后判断是否符合要求,也就是和前一个数字和为素数这里由于数字不超过20,所以先预处理一下,用素数筛打表以内所有合数。最后判断不要忘记最后一个数要跟第一个数符合条件。最后在符合条件的情况输出答案即可。 几个注意点: 1.return后...原创 2019-03-20 17:57:07 · 75 阅读 · 0 评论 -
poj3984迷宫问题
这题有两个解法。 先看dfs,其实这个题用了一点技巧,认为向右向下即为最小路径。 所以其实就是简单的dfs再用向量存储一下路径 几个注意点: 1.定义char mp作为地图的话,判断的时候用‘1’不要用1啊。这个真的无语 2.开数组范围(由于我喜欢从1-n记录,所以数组要开大一个 3.毒瘤输入 见代码 for(int i=1;i<=5;i++) &n...原创 2019-03-22 13:32:04 · 67 阅读 · 0 评论 -
【复习】poj3278hdu2127catch that cow
第一次完全学会bfs,感觉bfs比dfs简单一点 但是思路基本是一致的。 1.模拟(这里模拟三种情况向前一步,向后一步,倍数进步) 2.判断(这里判断是否访问过) 3.具体要求,求出时间即可。 这里用了一些小技巧: 1.判断所需要的数组和距离数组可以只用一个数组,初始值为-1,判断是否为初始即可判断走没走过。 2.在bfs里面定义了队列,其实如果在外面会更好,但是记得在外面定义。每次记得要清空以下...原创 2019-03-22 15:23:18 · 118 阅读 · 0 评论 -
【复习】hdu2612find a way
看到双bfs害怕,后来发现就是两个bfs额。 其实就是以一个人为起点遍历一遍标记肯德基位置然后另一个人又遍历一遍有标记肯德基位置,最后将肯德基位置标记的两个人的到达时间相加,比较那个最小即可 #include<iostream> #include<stdio.h> #include<queue> #include<string.h> #include...原创 2019-03-22 20:57:54 · 84 阅读 · 0 评论