![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL初步
chuyangzhanfang
一个与算法相爱相杀的计算机小弱鸡
展开
-
Uva 156 - Ananagrams
题目倒是不难,但是通过这道题可以学习一下对STL的运用,同时深深地感觉到sort函数的强大。题目思路:把每个单词“标准化”,即全部转化为小写字母后再进行排序,使得每个单词都是按照字典序排序,然后再放到map中进行统计。注:在这道题中通过sort函数既实现了对许多单词按照字典序排序,也实现了将一个单词按照字典序对字母进行重排,orz,sort真的好强!!!贴代码:#include <algorithm原创 2016-07-06 10:57:21 · 318 阅读 · 0 评论 -
Uva12096 集合栈计算机
如果对STL不熟悉的话,这道题确实还挺难的,这道题里综合运用了 STL中的一些容器,如:set,vector,map等,STL中的函数还是挺多的,不断学习,不断掌握吧 。看了看刘汝佳那本书里的解析 ,已经差不多明白了 题目思路 :本题的集合并不是简单的整数集合或者字符串集合,而是集合的集合。为了方便,我们可以为每个不同的集合分配一个唯一的ID,则每个集合都可以表示成所包含元素的ID集合,这样就可原创 2016-07-06 16:40:40 · 374 阅读 · 0 评论 -
Uva 540 - Team Queue
题目解析:利用队列来模拟即可,本题有两个队列:每个团队有一个自己的队列,我们用map为每个团队整体映射一个唯一的ID,则团队整体又形成一个队列。每次进队的时候令当前想要进队的元素进入自己的小团队,同时也判断一下那个大的团队整体的队列中有无他所代表的团队的ID,若无将此ID进队即可;出队时则是先在团队整体的队列中找出位于最前面的ID,然后根据此ID到所对应的小团队中取最前面的元素,若取完后此小团队没有原创 2016-07-07 14:37:12 · 257 阅读 · 0 评论 -
Uva 136 - Ugly Numbers
题目解析: 根据题目意思,对于每一个丑数x,2x、3x和5x也都是丑数,而最小的丑数是1,因此我们可以从1开始依次的构造出后面所有的丑数,等构造到第1500个时停止,然后输出即可。可以利用优先队列priority_queue< LL,vector,greater >,每次将队首元素x出队列,令2x、3x和5x入队列,应该注意的是每一个进过队列的值都应该做个标记,避免以不同的方式构造出的同一个数多次原创 2016-07-07 14:46:04 · 220 阅读 · 0 评论 -
UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
解题思路: 我觉得这道题最简单的方法就是用STL里面的list直接模拟,遇到字符[就把插入位置定位在头部,遇到字符]就把插入位置定位在尾部,遇到正常字符根据目前的插入位置插入即可,最终得到的list即为所求文本内容。 方法二:当然也可以用双向队列进行模拟,但是因为队列的特点,每次插入的时候不能以一个单个的字符为单位进行插入,而应该在每次遇到[或]字符之前将之前的字符连成一个字符串,在遇到[或]的原创 2016-07-09 10:12:52 · 256 阅读 · 0 评论