STL
ocean_62
一只奋战在OI路上的小小蒟蒻,怀揣着一个大大的梦想 0.0
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVa 101 The Blocks Problem
首先每一个木块自成一堆,并分配一个编号。 因为不确定每一个木块堆的高度,所以可以用vector来表示每一堆的木块编号。 P.S. vector的常用操作: 1. vec.push_back() 向尾部插入元素 2. vec.size() 取数组元素个数 3. vec.clear() 清空数组 4.插入元素: vec.insert(vec.b转载 2016-10-15 22:37:58 · 304 阅读 · 0 评论 -
UVa 10815 Andy's First Dictionary
因为需要找出不同的单词,所以可以利用set的性质,即元素不重复并且是有序的(这样就不用再排序)。 1.几个函数:isalpha() 判断字符是否是字母,如是,返回值为truetolower() 将字母转化为小写字母,如不是字母,则不作处理 2.字符串流读入时会自动略过空格,所以如果只想提取单词可以将所有的标点符号都变成空格。3.set的常用函数: set.inser转载 2016-10-15 22:59:09 · 246 阅读 · 0 评论 -
UVa 156 Ananagrams
因为要字母重排,所以要把每一个单词标准化,即全部转化为小写字母后再进行排序。用map来统计标准化后的单词出现的次数,最后将值为1的单词加入到ans集合中。 (标准化必须是动态的,不能改变原来的单词!) #include #include #include #include #include #include #include using namespace std; string s; ma转载 2016-10-15 23:28:26 · 286 阅读 · 0 评论 -
UVa 540 Team Queue
定义两个队列: q,q2[maxn] q表示团队整体的队列,q2[x]表示团队x中队员的相对次序。 #include #include #include #include #define maxt 1100 using namespace std; map team; //team[x]表示编号为x的人所在的团队编号 int kase,t,n,x; char od[10]; int转载 2016-10-16 20:26:12 · 267 阅读 · 0 评论 -
UVa 136 Ugly Numbers
实现方法:从小到大生成各个丑数。(对于任意丑数x,2x、3x和5x都是丑数) 每次要取队列中最小的数来生成后面的数(为了统计已生成的数的个数),但队列中的元素并不是按照大小顺序排列的,所以要用到优先队列:priority_queue, greater >。每一次用过x生成三个数之后就将x出队。 注意:需要使用long long数据类型。 #include #include #incl转载 2016-10-17 13:05:26 · 294 阅读 · 0 评论 -
UVa 12096 The SetStack Computer
本题的集合并不是简单的整数集合或者字符串集合,而是集合的集合(一个比较抽象的问题)。为了方便起见,此处为每个不同的集合分配一个唯一的ID,则可以将集合的集合转化为int类型的集合。整个栈是一个stack。 #include #include #include #include #include #include #include #define ALL(x) x.begin(),x.end()转载 2016-10-16 10:23:13 · 355 阅读 · 0 评论
分享