概述:本文主要讲述一些搜索算法的使用,以及其中奥妙思想的思考。 一:广度搜索与深度搜索---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
给定一个带权的无向连通图,怎样选取一棵生成树,使树上全部边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1)克鲁斯卡尔算法图的存贮结构採用边集数组,且权值相等的边在数组中排列次序能够是随意的.该方法对于边相对照较多的不是非常有用,浪费时间.(2)普里姆算法图的存贮结构採用邻接矩阵.此方法是按...
分类:
其他好文 时间:
2014-07-10 10:48:27
阅读次数:
233
/* poj 3321 Apple Trie 这道题的关键是如何将一个树建成一个一维数组利用树状数组来解题! 可以利用dfs()来搞定,我们在对一个节点深搜后,所经过的节点的数目就是该节点的子树的数目 所以我们利用start[i]数组来记录 i 节点在一维数组的起始位置, 而end[i]则...
分类:
移动开发 时间:
2014-07-07 23:08:32
阅读次数:
400
给定一个带权的无向连通图,怎样选取一棵生成树,使树上全部边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1)克鲁斯卡尔算法图的存贮结构採用边集数组,且权值相等的边在数组中排列次序能够是随意的.该方法对于边相对照较多的不是非常有用,浪费时间.(2)普里姆算法图的存贮结构採用邻接矩阵.此方法是按...
分类:
其他好文 时间:
2014-06-28 09:43:44
阅读次数:
253
本题解法很多,因为给出的数据特殊性故此可以使用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
题目:
输入一个n个节点的无根树的各条边,并指定一个根节点,要求把该树转化为有根树,输出各个节点的父亲编号。
分析:分析在代码的注释中!
#include
#include
using namespace std;
const int MAXN = 1000;
int n, p[MAXN];
vector G[MAXN];
void dfs(int u, int fa...
分类:
其他好文 时间:
2014-06-28 06:56:57
阅读次数:
205
UVA 10317 - Equating Equations 贪心 dfs
ACM
题目地址:UVA 10317 - Equating
Equations
题意:
给一个等式,但是这个等式不一定是正确的,要你对等式中的数字重新排序,使得等式成立。等式只有+和-,数字个数小于16。
分析:
以a + b - c = d - e为例子。
1. 我们把等式右边的各...
分类:
其他好文 时间:
2014-06-27 23:40:58
阅读次数:
260
【】
【分析】真的是一道贪心好题。开始我以为是一道大水题。建立拓扑图后(没环就是方便!),直接把最外层设定序号为1,第二层为2,bfs下去即可。。。结果发现:飞行序号不能相同。。。于是开始想。
先考虑第一个问题:打印一个合法序列。我开始是这么想的:
观察每个飞机的最晚飞行序号Ki,因为必定有解,所以我们可以让它的序号就是Ki。然后用它的时间去更新前面的时间(图可以反向建立)。应该可以维护一个...
分类:
其他好文 时间:
2014-06-27 23:20:01
阅读次数:
209
邻接表:邻接表是图的一种链式存储结构。在邻接表中,对图中每个顶点建立一个单链表,第i个单链表中的节点表示依附于顶点vi的边(对有向图是以顶点vi为尾的弧)。每个结点有三个域组成,其中邻接点域指示与顶点vi邻接的点在途中的位置,链域指示下一条边或者弧的结点;数据域存储和边或者弧相关的信息,如权值等。每个链表上附设一个表头结点。在表头结点中,除了设置链域指向链表第一个结点之外,还设置有存储顶点vi的名...
分类:
其他好文 时间:
2014-06-27 10:30:19
阅读次数:
277
#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