题目链接:https://cn.vjudge.net/problem/POJ-3126 注意:预处理1000-9999间的素数,并且对入过队列的数进行标记,防止重复入队,否则超时 ...
分类:
其他好文 时间:
2019-08-15 10:58:50
阅读次数:
93
算法:广搜变形(堆优化Dijkstra). ...
分类:
其他好文 时间:
2019-08-11 17:07:16
阅读次数:
98
P1162 填涂颜色 哎,这道题从3月份学广搜开始就困扰我,做了2个月都没做对,一直拖到5月学动态规划,索性放下不管! 今天深搜一遍过…… 主要思路:四个边缘进行搜索就可以了。 #include<bits/stdc++.h> using namespace std; int n,mp[35][35] ...
分类:
其他好文 时间:
2019-08-03 21:43:06
阅读次数:
130
这题面有点难理解,建议直接跳到题意解释那一部分(虽然我觉得解释的不大对,但按照解释来做确实能AC); 按照“题意解释”的思路来思考这个题,那么就十分的简单了: 1.首先要读入这个字符矩阵,可以用cin(会不会TLE不知道),这里我用的是getchar读入; 2.从‘ * ’开始一遍广搜,记录一下每个 ...
分类:
其他好文 时间:
2019-06-29 10:41:47
阅读次数:
99
枚举: 枚举是最简单也是最直白的搜索方式,它依次尝试搜索空间中所有的解,测试其是否符合条件,若符合则输出答案,否则继续测试下一组解。 例6.1 百鸡问题 广度优先搜索(BFS:breadth-first search): 例6.2 胜利大逃亡(广搜+剪枝) AC代码: #include<cstdio ...
分类:
其他好文 时间:
2019-06-16 00:36:18
阅读次数:
147
深度优先搜索: dfs,运用递归函数,通过栈的结构进行搜索。 模板: ·dfs(状态) –if 状态 是 目标状态then ·dosomething –else ·for 每个新状态 –if 新状态合法 »dfs(新状态) ·主程序: ·dfs(初始状态) 广度优先搜索: bfs,运用递归函数,通过 ...
分类:
其他好文 时间:
2019-06-09 12:41:29
阅读次数:
104
一个玄学的广搜边界>=0,<=k+10,这个边界可能可以数学上证明,其他就是简单的广搜,然后输出步数,就可以了 ...
分类:
其他好文 时间:
2019-06-04 22:34:12
阅读次数:
203
迷宫问题 Time Limit: 1000MSMemory Limit: 65536K Description 定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, ... ...
分类:
其他好文 时间:
2019-04-29 19:11:50
阅读次数:
140
背景:众所周知,这道题还是个迷宫板子。。。。。 原理:广搜,检索路径,将走过的和墙所在区域置为0,其他区域置为1(可以走)。那么,用队列存一下路径,搜索每深一层,步数++,然后后退时步数再-回去就行了,最后遍历完,将所有的路径步数比对(或者设置minn,保存历史搜索最短步数就行了)很简单啊。 用到Q ...
分类:
其他好文 时间:
2019-04-20 14:25:49
阅读次数:
160
题目链接http://bailian.openjudge.cn/practice/2790/ 算法分析 这道题目是典型的迷宫问题。要判断出发点到终止点是否可到达,应该优先考虑广度优先搜索算法。当然,深度优先搜索也可以解决,但是要注意:这里仅仅判断是否可到达,故在深搜过程中不需要回溯。 广搜代码: 1 ...
分类:
其他好文 时间:
2019-03-31 09:52:21
阅读次数:
190