码迷,mamicode.com
首页 >  
搜索关键字:bfs 优先队列 stl    ( 13177个结果
STL vector使用方法介绍
介绍这篇文章的目的是为了介绍std::vector,怎样恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该可以有效地使用vector容器,并且应该不会再去使用C类型的动态数组了。Vect...
分类:其他好文   时间:2014-07-19 12:20:11    阅读次数:240
UVa11624 BFS
题意:有一个迷宫,迷宫中有许多火堆,Joe每次只走一步,火也是一次向四个方向蔓延一步,Joe不可以遇到火和障碍物,问Joe能否走出迷宫(只要到达边界居、就可以了)。思路:先计算每个点最先什么时候起火,再判断Joe到达这个点时是否已经起火了,这样就可以。代码:// http://uva.onlinej...
分类:其他好文   时间:2014-07-19 09:29:05    阅读次数:247
UVa10047 BFS
题意:一自行车的轮子被分成5个扇区,涂了5种不同颜色。自行车每1秒要么骑到下一个格子,要么左转或者右转90。。一开始自行车面向北,颜色为绿,到达目标格时,必须触底颜色为绿,但朝向无限制。求到达目标格的最短时间。思路:可以朝3个方向搜索,多了一种颜色状态,每个结点有四个值需要保存,坐标x,坐标y,朝向...
分类:其他好文   时间:2014-07-19 09:18:55    阅读次数:235
STL 源码剖析 算法 stl_algo.h -- partition
partition ------------------------------------------------------------------------ 描述:partition 会将区间[first,last) 中的元素重新排列。所有被一元条件运算 pred 判定为 true 的元素,都会被放在区间的前段, 被判定为 false 的元素,都会被放在区间的后段。 partition 不稳定,不保证 partition 后元素保留在原始相对位置, stable_partition 稳定 思路: ...
分类:其他好文   时间:2014-07-19 08:26:15    阅读次数:248
STL 源码剖析 算法 stl_algo.h -- includes
search ------------------------------------------------------------------------- 描述:在序列一[first1, last1) 所涵盖的区间中,查找序列二[first2, last2) 的首次出现点。 思路: 1.遍历序列二 2.如果两序列的当前元素一样,都前进 1 3.否则序列二的迭代器重新指向开始元素,序列一前进 1 ,序列一的长度减 1 复杂度: 最坏情况是平方: 最多 (last1 - first1) * (last2...
分类:其他好文   时间:2014-07-19 08:20:52    阅读次数:212
STL 源码剖析 算法 stl_algo.h -- merge
merge (应用于有序区间) -------------------------------------------------------------------------- 描述:将两个经过排序的集合S1和S2,合并起来置于另一段空间。所得结果也是一个有序(sorted)序列 思路: 1.遍历两个序列直到其中一个结束了 2.如果序列一的元素较小,将它放到结果序列中,并前进 1 3.如果序列二的元素较小,将它放到结果序列中,前前进 1 4.遍历结束后,将还没有遍历完的序列复制到结果序列的尾部 源码:...
分类:其他好文   时间:2014-07-19 08:16:09    阅读次数:212
STL 源码剖析 算法 stl_algo.h -- includes
includes(应用于有序区间) ------------------------------------------------------------- 描述:S1和S2都必须是有序集合,判断序列二 S2 是否"涵盖于"序列一 S1,即"S2的每一个元素是否都出现于 S1中" 思路: 1.遍历两个区间,直到其中一个走完 2.如果序列二的元素小于序列一的元素,则在序列一中不可能有元素等于序列二的当前元素了,直接返回 false 3.如果序列一的元素小于序列二的元素,则序列一前进 1 4.如果两序列元...
分类:其他好文   时间:2014-07-19 08:05:28    阅读次数:180
STL 源码剖析 算法 stl_algo.h -- rotate
rotate -------------------------------------------------------------- 描述:将[first, middle) 内的元素和[middle, last) 内的元素互换。 图6-6g /*------------------------------------------------------------ *分派函数(dispatch function) */ template inline ...
分类:其他好文   时间:2014-07-19 08:00:26    阅读次数:259
POJ 3687:Labeling Balls(优先队列+拓扑排序)
Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10178 Accepted: 2815 Description Windy has N balls of distinct weights from 1 un...
分类:其他好文   时间:2014-07-19 02:26:55    阅读次数:224
hdu1285 拓扑排序+优先队列
给出几组比赛的胜负情况。判断最后的排名。根据题意这就是一个明显的拓扑排序问题了。 注意 如果因为可能的排名有多种情况,这时要保证编号小的在前。 题目输入的数据可能有重复边 拓扑排序 首先统计每个结点的入度。将度为0的结点编号放入队列(此题放入优先队列中)中。 然后进行循环: 取出队头结点,视作边的起点。 然后“删除与该点相连的边”,代码就是将这个图中的该边另一个结点(即终点)的入度减一; 如果减一以后,终点的入度变为了0,那么将终点的编号入队列。 判断队列是否为空,若不空,则回到1...
分类:其他好文   时间:2014-07-19 02:25:55    阅读次数:175
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!