Children of the Candy CornTime Limit:1000MSMemory Limit:65536KTotal Submissions:10331Accepted:4466DescriptionThe cornfield maze is a popular Halloween...
分类:
其他好文 时间:
2015-02-12 10:43:47
阅读次数:
127
上一篇写了DFS的邻接矩阵和邻接表的,这篇再写一下BFS的
先大概讲一下BFS , 全名广度优先搜索,没有回溯和探查,逐层遍历,采用队列实现
先访问当前顶点v, 然后访问v的各个未被访问过的邻接顶点,然后在一次访问v的各个邻接顶点的未被访问的邻接顶点
代码实现如下 :
void BFS (Graph &G , int v ) {
int i , w , n = G.Number(); /...
分类:
编程语言 时间:
2015-02-07 17:29:05
阅读次数:
183
题意:给定一个无向图,是强连通的,而且无自回路。对顶点进行染色,相邻的顶点需要用不同的颜色,但总共只有两种颜色,是否可行。
思路:二部图的判定。其实通过题意思考,也可以发现,如果没有回路是可以的,如果有回路,而回路的顶点个数是偶数个也是可以的,是奇数个则不行。而这正是二部图的充要条件:无向图的所有回路长度都为偶数。 但这里如何判断回路长度不好实现。 这里的思路是,对图进行遍历,dfs或bfs...
分类:
其他好文 时间:
2015-02-01 01:57:17
阅读次数:
133
题意:给定一些单词,单词的尾字母和另一单词的首字母相同,则可以串联,问是否可以将所有的单词串联。单词可重复出现,但每个单词只能用一次;即某单词重复几次,则可用几次。
思路:欧拉道路的应用。欧拉道路,即“一笔画”,从图中一结点出发走一条道路,每条边恰好经过一次。
首先要判断图是连通的。
对于无向图,最多只有两个奇点(度数为奇数)。且从一奇点出发,...
分类:
其他好文 时间:
2015-02-01 01:53:50
阅读次数:
177
这道题DFS,BFS,并查集好像都可以觉得深搜跟并查集可能会更简单一些 1 #include "iostream" 2 #include "algorithm" 3 #include "memory.h" 4 #include "cmath" 5 #include "string" 6 using ...
分类:
其他好文 时间:
2015-01-25 15:05:19
阅读次数:
192
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
...
分类:
其他好文 时间:
2015-01-10 18:20:29
阅读次数:
181
这是通过邻接矩阵进行DFS#include
#include
#include
#define Max_ver_num 20
using namespace std ;
bool visit[Max_ver_num] ;//这个数组的用途是标记
struct HGraph{
string vexs [ Max_ver_num ] ; //放每个顶点的数组的名字
int arcs [Ma...
分类:
其他好文 时间:
2014-12-06 08:54:40
阅读次数:
224
题目链接题目需要得到树上每个结点出发可到达的最远的结点,顺便求出树的直径。这里顺便总结一下求解的两种方法。第一种思路:三种dfs(bfs) 第一遍dfs(bfs)从任意结点出发,找到距离该结点最远的结点u(直径的端点之一)。 第二遍dfs(bfs)从u出发,求出其他点到u的距离,最长的即为v(直.....
分类:
其他好文 时间:
2014-12-01 20:52:58
阅读次数:
276
练习dfs和bfs的好题。#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#defi...
分类:
其他好文 时间:
2014-11-19 15:30:52
阅读次数:
329
HDU 3313 Key Vertex
题目链接
题意:一个有向无环图,求s,t之间的割点
思路:先spfa找一条最短路出来,如果不存在,就n个都是割点。
然后每次从s进行dfs,找到能经过最短路上的最远点,然后这个点就是割点,然后下次在以这个为起点dfs,不断迭代直到找到t为止
代码:
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-11-09 18:07:12
阅读次数:
180