点击打开链接
Problem 2150 Fire Game
Accept: 237 Submit: 808
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
Fat brother and Maze are playing a kind of special (hent...
分类:
其他好文 时间:
2014-05-09 14:08:37
阅读次数:
502
图的遍历主要有两种方法,第一种是之前博文中介绍过的“图的深度优先遍历”,简称DFS;另一种就是图的广度优先遍历(BFS),在本文中将进行简要探讨。
BFS要做的事,从给定点出发,遍历的一次探寻到所有顶点。其基本思路很容易理解,在此我们利用队列q来存储访问的顶点,用visited[]数组(初始化所有值...
分类:
其他好文 时间:
2014-05-09 10:06:35
阅读次数:
337
经典迷宫问题。。。STL~queue+BFS实现,给正在学习使用queue和BFS的童鞋提供一个比较好理解的模板~=w=~...
分类:
其他好文 时间:
2014-05-09 06:05:13
阅读次数:
353
1 /* 2 题意:国际象棋起点到终点移动的最少步数 3 4
题解:水题,BFS就过了,有人用双向BFS 5 */ 6 #include 7 #include 8 #include 9 10 using namespace
std;11 12 int dir[8][2]={-2,1,-1,...
分类:
其他好文 时间:
2014-05-09 05:34:20
阅读次数:
387
第一部分:DFS
DFS(深度优先搜索),深度优先搜索法与回溯法差不多,主要的区别是回溯法在求解过程中不保留完整的树结构,而深度优先搜索则记下完整的搜索树,搜索树起记录解路径和状态判重的作用。为了减少存储空间,在深度优先搜索中,用标志的方法记录访问过的状态,这种处理方法使得深度优先搜索法与回溯法没什么区别了。
深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。...
分类:
其他好文 时间:
2014-05-09 01:49:49
阅读次数:
304
比赛地址:点击打开链接
比赛做粗的4个题几乎都是水,感觉弱的水爆炸了。
这个题最初的思路是枚举找出四个点,做凸多边形的模板判断。C(30,4)。
结果答案不对。。后来发现模板上是要求点对的顺序是逆时针或顺时针输入。
于是用时钟排序的函数排序后判断:
bool cmp(point p1, point p2)
{
return atan2(p1.y, p1.x) < atan2(p2...
分类:
其他好文 时间:
2014-05-09 00:29:35
阅读次数:
381
题目链接在这题各种RE和WA。 方法上就是BFS,
还是基础不扎实的原因,很明显的一点就是这里使用二维vector, 开始的时候我竟然没有给ans分配空间,然后直接push_back,
导致RE到死。这点是必须引起注意的!附上代码: 1 /** 2 * Definition for binary ....
分类:
其他好文 时间:
2014-05-08 18:00:37
阅读次数:
292
双向BFS:
分别在 起点 和 终点同时进行BFS。
一般地,BFS随着层数的增加,状态数会越来越多,也就是状态数与层数呈正相关。如下图,:
若从两端同时进行BFS ,则有
显然减少的哪一些区域即为减掉的那些不必要的状态。
#include
#include
#include
#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-05-08 17:16:12
阅读次数:
300
很简单的题目,不过还是觉得要说一下。最小深度,很快想到bfs,层序遍历嘛。本科的时候实在是没写过多少代码,一开始居然想不到怎么保存一层的信息。后来想到可以压入一个特殊的对象,每次到达这个对象就知道是一层了。我用的是空指针,觉得这个适用性还是不错的。一层的节点入队结束后,应该压入一个NULL,当一层的节点都处理完,遇到NULL的时候,要在队列尾部再入队一个NULL,这是后一层的分界线嘛。
昨天在另...
分类:
其他好文 时间:
2014-05-08 11:09:28
阅读次数:
315