随笔分类 -  STL

hdu 4006 The kth great number(STL 之set/priority_queue)
摘要:用stl 写代码明显是短了,时间也直线上升不用stl 写的#include<stdio.h>#include<stdlib.h>int f[10000002];int cmp ( const void *a , const void *b ){return *(int *)a - *(int *)b;}int main(){ int a,i,k,n,s,e; char st[3]; while(scanf("%d %d",&n,&k)!=EOF) { for(i=0;i< k;i++) { scanf("%s %d&q 阅读全文

posted @ 2012-04-19 22:29 skyming 阅读(259) 评论(0) 推荐(0)

poj 1338 Ugly Numbers(STL 之 pair)
摘要:题意: 每个数的因子都是有1 2 3 5组成,求第n数是几悲剧的是,不知道怎么回事,电脑上的各个编译器都不能用了#include <iostream>#include <cstdio>#include <queue>using namespace std;typedef pair<long long ,int> node_type;int main(){ int sum[1500]; priority_queue <node_type, vector<node_type>,greater<node_type> > 阅读全文

posted @ 2012-04-19 21:11 skyming 阅读(223) 评论(0) 推荐(0)

zoj 2724 Windows Message Queue(最小优先队列+STL)
摘要:题意:模拟window进程#include<iostream>#include<cstdio>#include<string.h>#include<string>#include <queue>using namespace std;struct msg{ string name; int sum,val; bool operator < (const msg &a) const { return a.val<val; }};int main(){ char str[100]; priority_queue < 阅读全文

posted @ 2012-04-19 16:52 skyming 阅读(257) 评论(0) 推荐(0)

STL之关联容器(set /map /multiset /multimap)
摘要:资料备份关联容器一般以平衡二叉搜索树作为内部数据结构,RB-tree的应用尤其广泛。RB-tree是许多平衡二叉查找树的一种,一颗有n个内结点的红黑树的高度至多为2lg(n+1),它能保证在最坏情况下,基本的动态集合操作时间为O(lgn)。关联容器支持通过键来高效地查找和读取元素,两个基本的关联容器是map和set。set仅包含一个键,并有效地支持关于某个键是否存在的查询。map的元素是“键-值”对的二元组形式:键用作元素在map中的索引,而值则表示所存储和读取的数据。set和map类型的对象所包含的元素都具有不同的键。如果需要一个键对应多个实例,则需要使用multimap或multiset类 阅读全文

posted @ 2012-04-01 21:51 skyming 阅读(901) 评论(0) 推荐(0)

STL之list/vector/deque
摘要:学习备忘录:总体分类:标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器: slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。非标准关联容器: hash_set、hash_multiset、hash_map和hash_multimap。list就是数据结构中的双向链表;vector是一种动态数组,是基本数组的类模板;deque是一个double-ended queue,双端队列;因此在实际使用时;如何选择这三个容器中哪一个,应根据你的需要而定,一般应遵循下.. 阅读全文

posted @ 2012-04-01 00:25 skyming 阅读(752) 评论(0) 推荐(0)

STL之 stack/queue/priority_queue
摘要:记性不好,贴点备忘的吧1、stackstack模板类的定义在<stack>头文件中。stack模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack对象的示例代码如下:stack<int> s1;stack<string> s2;stack的基本操作有:入栈,如例:s.push(x);出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。访问栈顶,如例:s.top()判断栈空,如例:s.empty(),当栈空时,返回true。访问栈中的元素个数,如例: 阅读全文

posted @ 2012-03-31 20:48 skyming 阅读(1061) 评论(0) 推荐(0)