随笔分类 -  搜索

摘要://题目类型:求K最短路//算法实现:Dijkstra+A*(启发式搜索)//首先求出其他点到des的最短距离,然后用基于BFS的优先队列A*算法求,f(i)=g(i)+h(i) 其中h(i)表示i到des的最短路,g(i)表示从src到i的//路径长度每次取出f(i)值最小的,当第k次取出t时即求出第k短路#include <iostream>#include <queue&g... 阅读全文
posted @ 2010-06-05 14:52 北海小龙 阅读(1162) 评论(0) 推荐(0)
摘要://题目分类:有向图的欧拉路(利用深度优先搜索+邻接表) //题目大意:一个图,要将每条边恰好遍历两遍,而且要以不同的方向,还要回到原点。//定理:如果一个有向图所有顶点的入度等于出度,则该有向图存在欧拉回路。//解题思路:此题实质是建立了一个双向连接的有向图。关键在于理解深搜时从S出发,为什么一定会回到S。可以从反证法角度考虑。//假设遍历的顺序为S->A1->A2->A3-&... 阅读全文
posted @ 2010-05-22 16:18 北海小龙 阅读(852) 评论(1) 推荐(3)
摘要://杭电 2828 精题//解题思路:深度优先搜索#include <iostream>#include <string>using namespace std;#define arraysize 501int n,m;typedef struct swch//定义开关{ int status;//定义开关的状态 int num;//定义开关的标识}swch;typedef... 阅读全文
posted @ 2010-05-21 11:34 北海小龙 阅读(415) 评论(0) 推荐(0)