在c++11标准中定义了一种新的可调用对象 lambda
lambda类似与匿名函数 , 只不过可以通过一种机制(不是参数)来调用一些局部变量 , 这样就能使自身的参数变少,也就能达到STL中某些算法对谓词的要求。
lambda的形式:
lambda表达式的引入标志,在‘[]’里面可以填入变量,表示lambda要捕获的变量 , 这就是lambda的关键处 。 可以为空
l...
分类:
编程语言 时间:
2014-06-05 02:45:39
阅读次数:
282
本题应该挺经典的,因为可以使用好多方法过,适合训练多种高级数据结构和算法。
这里使用AVL平衡二叉树的解法,时间还可以,大概300ms吧,内存很省188k,因为这里使用指针,没有浪费内存。
这里使用Geeks上面的AVL的做法,使用递归更新树,而不使用双亲指针,试了下使用双亲指针,真的好麻烦,要维护多一个指针,容易出错很多。
递归操作二叉树是非常优雅的。
而且不需要使用任何STL容器,非常...
分类:
其他好文 时间:
2014-06-05 01:56:58
阅读次数:
269
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,0...
分类:
其他好文 时间:
2014-06-03 05:30:23
阅读次数:
394
Knight Moves
Time Limit: 1000MS
Memory Limit: 30000K
Total Submissions: 20913
Accepted: 9702
Description
Background
Mr Somuro...
分类:
其他好文 时间:
2014-06-03 04:02:09
阅读次数:
260
STL的队列和栈简单使用
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
queue Q;
stack S;
int i;
for(i=1;i
{Q.push(i);S.push(i);}
while(...
分类:
其他好文 时间:
2014-06-03 03:51:26
阅读次数:
238
课程介绍
这门课程核心内容是算法和数据结构。
具体的算法和数据结构如下:
数据类型:堆栈、队列、背包、并查集、优先队列。
排序:快排、并排、堆排、基数排序
查找:BST、红黑BST、哈希表
图:BFS、DFS、Prim、Kruskai、Dijkstra
字符串:KMP、正则、TST、哈夫曼、LZW
高级:B树、后缀数组、最...
分类:
其他好文 时间:
2014-06-01 10:52:26
阅读次数:
285
http://acm.hdu.edu.cn/showproblem.php?pid=1429
第一次接触搜索+状态压缩 看了大神的题解 勉强把题目弄懂了。
用二进制来表示手头的钥匙有哪些,100表示有第三把钥匙,111表示有第三、二、一把,搜索下一点时,如果该点为钥匙点,则可采用|运算来
模拟拾取,显然0001 | 1000 = 1001,同理,当为相应的门时采用&运算来模拟开启,例...
分类:
其他好文 时间:
2014-06-01 10:35:21
阅读次数:
256
来自维基百科
堆
堆(英语:heap) 亦被称为:优先队列(英语:priority queue),是计算机科学中一类特殊的数据结构的统称。
堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。
逻辑定...
分类:
其他好文 时间:
2014-06-01 05:01:13
阅读次数:
279