码迷,mamicode.com
首页 >  
搜索关键字:bfs 优先队列 stl    ( 13177个结果
stl map高效遍历删除的方法 [转]
for(;iter!=mapStudent.end();){ if((iter->second)>=aa) { //满足删除条件,删除当前结点,并指向下面一个结点 mapStudent.erase(iter++); } else { //条件不满足,指向下面一个结点 iter++; }}这种删除方式...
分类:其他好文   时间:2014-06-18 13:47:29    阅读次数:207
java基础之:堆排序
最近做题目饱受打击,愈发觉得打好基础的重要性,于是乎,决心把基本的排序算法还有数组操作一一实现,目的在于一方面能够得到对JAVA基础的巩固,另一面在实现的过程中发现不足。 今天所实现的堆排序(最大堆)算法,最小堆大同小异。然后基于最大堆实现最大优先队列,最大优先队列可应用于作业调度,比如可将作...
分类:编程语言   时间:2014-06-18 09:52:16    阅读次数:327
3244: [Noi2013]树的计数 - BZOJ
Description我们知道一棵有根树可以进行深度优先遍历(DFS)以及广度优先遍历(BFS)来生成这棵树的DFS序以及BFS序。两棵不同的树的DFS序有可能相同,并且它们的BFS序也有可能相同,例如下面两棵树的DFS序都是1 2 4 5 3,BFS序都是1 2 3 4 5现给定一个DFS序和BF...
分类:其他好文   时间:2014-06-18 09:41:13    阅读次数:173
bzoj 3519: [Zjoi2014] 消棋子 题解
【序言】在大家怀疑的眼光下,我做了一个中午和半个下午、调了一个晚上的题目总算A了! 【原题】 消棋子是一个有趣的游戏。游戏在一个r * c的棋盘上进行。棋盘的每个格 子,要么是空,要么是一种颜色的棋子。同一种颜色的棋子恰好有两个。每一轮, 玩家可以选择一个空格子(x, y),并选择上下左右四个方向中的两个方向,如果 在这两个方向上均存在有棋子的格子,而且沿着这两个方向上第一个遇到的棋子 ...
分类:其他好文   时间:2014-06-18 06:08:20    阅读次数:233
list C++实现
模仿STL中list,实现了其大部分功能。list可以高效地利用内存资源,常数时间的插入删除操作。并且,list除了erase外,不怎么存在迭代器失效的现象。#include#include#includeusing namespace std;templatestruct _List_node{ ...
分类:编程语言   时间:2014-06-17 23:32:51    阅读次数:468
POJ 3026-Borg Maze
题目链接:Borg Maze 日,终于过了,对这题,无力多说,没想到还有那样的数据,不搜题解,我八辈子也过不了,最小生成树的最后一题! 题意:就是 S 是初始点,A是外星人,构造一条路线使他们都能到达,且路线长度最短; 思路:1.求距离->(BFS)  2. 构图(小数据:邻接矩阵) 3.建树(Prim) 水题,难的是 POJ后台。 没看别人题解,不知道加gets() ...
分类:其他好文   时间:2014-06-17 23:10:34    阅读次数:255
【坐在马桶上看算法】算法12:堆——神奇的优先队列(下)
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(log i),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。n=0;for(i=1;i=1;i--) siftd...
分类:其他好文   时间:2014-06-17 20:36:51    阅读次数:298
【坐在马桶上看算法】算法12:堆——神奇的优先队列(下)
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(logi),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。n=0; for(i=1;i<=m;i++) { n++; h[n]=a[i..
分类:其他好文   时间:2014-06-17 17:54:05    阅读次数:177
【啊哈!算法】算法12:堆——神奇的优先队列(下)
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(log i),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。 n=0; for(i=1;i) { n++; h[ n]=a[ i]; //或者写成scanf("%d",&h[ n]); ...
分类:其他好文   时间:2014-06-17 16:20:33    阅读次数:322
C++ - 复制容器(container)的元素至另一个容器
复制容器(container)的元素至另一个容器本文地址: http://blog.csdn.net/caroline_wendyC++复制容器(container)元素, 可以使用标准库(STL)的copy()和copy_n()函数.函数样式: OutputIterator copy (InputIterator first, InputIterator last, OutputIterator...
分类:编程语言   时间:2014-06-17 16:06:13    阅读次数:333
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!