概述:本文主要讲述一些搜索算法的使用,以及其中奥妙思想的思考。 一:广度搜索与深度搜索---BFS与DFS 1:实现算法导论中的BSF #include #define MAX 1000000struct Node{ int d; int p; int color; int id;};int _tm...
分类:
其他好文 时间:
2014-07-16 23:08:16
阅读次数:
224
DFS 深度优先BFS 广度优先DFS或者BFS都是在联通区域内遍历节点的方法用在二叉树上DFS有preOreder,inOrder,postOrder,BFS就是层次遍历。在二叉树上的节点,只有两个选择,left 和right,即,对于每一个节点,in 有1个, out 有两个,有向图在矩阵的节点...
分类:
其他好文 时间:
2014-07-01 21:32:46
阅读次数:
278
题目地址:POJ2455
手残真浪费时间啊。。又拖到了今天才找出了错误。。每晚两道题不知不觉又变回了每晚一道题、。。sad。。
第一次在isap中忘记调用bfs,第二次则是遍历的时候居然是从1开始遍历的。。。sad。。。
这题思路倒是很简单,就是有一个比较坑的地方,就是这里的重边要当两条边来用,以前受最短路什么的影响,直接把慢的删了,很明显不对。。。这里的两条重边都是可以走的。
建图思路是...
分类:
其他好文 时间:
2014-07-01 14:44:29
阅读次数:
194
单广,双广都用了,感觉双向BFS,太棒了,HDU的这个题双向BFS时间优化的太棒了
有图,有真相!...
分类:
其他好文 时间:
2014-06-30 06:32:37
阅读次数:
171
本题解法很多,因为给出的数据特殊性故此可以使用DFS和BFS,也可以使用01背包DP思想来解。
这里使用BFS,缺点是比DFS更加耗内存,不过优点是速度比DFS快。
当然也比DFS难写点:
int N, B;
int Height[21];
inline int mMin(int a, int b) { return a > b? b : a; }
inline int mMax(int a...
分类:
其他好文 时间:
2014-06-28 08:11:26
阅读次数:
238
【】
【分析】真的是一道贪心好题。开始我以为是一道大水题。建立拓扑图后(没环就是方便!),直接把最外层设定序号为1,第二层为2,bfs下去即可。。。结果发现:飞行序号不能相同。。。于是开始想。
先考虑第一个问题:打印一个合法序列。我开始是这么想的:
观察每个飞机的最晚飞行序号Ki,因为必定有解,所以我们可以让它的序号就是Ki。然后用它的时间去更新前面的时间(图可以反向建立)。应该可以维护一个...
分类:
其他好文 时间:
2014-06-27 23:20:01
阅读次数:
209
题目地址:http://poj.org/problem?id=2112
最近忙着预习课本备考,没怎么刷题,(我是真的有在好好看书。。)不敲题还是手痒痒,马上就邀请赛了,还是每晚睡觉前都拿来刷题吧。白天的时间足够了。
话说这题调了一晚上。。。一直以为是几天没敲状态下滑。。(虽然也没几天。。)当发现错误的时候才发现原来是少敲了个字母。。。而且我一般很少在bfs的那个地方出错,错误地方也很隐蔽。。所...
分类:
其他好文 时间:
2014-06-27 09:12:36
阅读次数:
196
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define ll __int64
#define mod 1000000007
using namespace std;
int n,k,cnt,num[2],len[...
分类:
其他好文 时间:
2014-06-27 07:49:09
阅读次数:
248
建图很简单
bfs预处理地图,距离就为费用
源点到所有m建边,流量1费用0
m到所有H建边,流量1费用为距离
H到所有汇点建边,流量1费用0
#include
#include
#include
#include
using namespace std;
#define MAXN 10005
#define MAXM 1000000
#define INF 0x3f3f3f3
#defi...
分类:
其他好文 时间:
2014-06-26 12:16:37
阅读次数:
199