STL
银之夏雪
这个作者很懒,什么都没留下…
展开
-
hdu4802(stl)
这道题目虽然是个水题,但是我当时并不会用map,后来补了一下 map版#include <iostream> #include <map> #include <stdio.h> using namespace std; map<string,double>mp; void init() { mp.insert(pair<string,double>("A",4.0)); mp.in原创 2016-09-21 20:25:07 · 255 阅读 · 0 评论 -
hdu4811(思维题)
刚看到这道题目的时候没有看懂,后来发现自己读错题了。。。。 这道题是说有三种颜色的球,有一个平台,规则是,第一个球不得分,放在最后的球的得分是他前面的球的颜色的种类和,第三种,是在两个球之间插一个球,它的得分是,它前面的颜色种类和和它后面的颜色种类和,那么肯定是后面这种得分多,当出现2,2,2,的时候是最完美的,但是如果有的种类不足两个那么怎么办呢,把不超过2的,记录它现在的数目,超过2的当2坐底原创 2016-09-21 20:36:17 · 693 阅读 · 0 评论 -
UVA 10474 Where is the Marble(stl,sort)
UVA 10474 Where is the Marble 题目:题目意思就是给出两个数m和n下面输入m个数,再依次输入n个数,查找n个数在前面的m个数中是第几大 思路很简单,排序加查找(也可以二分优化)。 方法一:用哈希,先排序,排好序之后看跟前一个是否一样,然后哈希一下,就OK了#include <iostream> #include <string.h> #include <algori原创 2017-02-12 19:51:27 · 331 阅读 · 0 评论 -
UVA 10815 Andy's First Dictionary(stl,set)
UVA 10815 Andy’s First Dictionary 题目:给出一串单词,把所有单词改小写去重按字典序输出。 思路:set可以解决去重和排序问题。(这点很关键,从小到大排序) set中每个元素最多只出现一次 如何通过迭代器从小到大遍历所有元素 for (set::iterator i = d.begin(); i != d.end(); i++) cout << *i原创 2017-02-12 19:54:26 · 352 阅读 · 0 评论 -
UVA 156 Ananagrams(stl,map,set)
例题4:UVA 156 Ananagrams 题目:把每个单词全部转化成小写字母,对每个单词,看它的字母重排后得到的单词在所有输入的单词中是否出现过,若没有出现,就输出原单词。所有要输出的单词按字典序排列输出。 思路:先小写化,然后二维的string排个序,然后用map建立string与int的映射,然后hash一下再放到set里面排个序,其实不hash应该也可以,因为set本身就有去重的功能#原创 2017-02-12 19:59:46 · 378 阅读 · 0 评论 -
HDU 1027 Ignatius and the Princess II(stl,next_permutation)
HDU 1027 Ignatius and the Princess II 题目:求N个数全排列,顺着数第M个 next_permutation(a,a+n),这是我第一次用这个神奇的函数。以前根本不知道还有这种,能够进行全排列的函数, 与之完全相反的函数还有prev_permutation a[0]=1;a[1]=2;a[2]=3; do{cout << a[0]<< ” ” << a[原创 2017-02-12 20:05:42 · 468 阅读 · 0 评论 -
HDU 1716 排列2 (stl,next_permutation)
HDU 1716 排列2 注意输出格式,这道题目我因为空行的问题PE了n次:每行末尾无空格,最后一组数据末尾没有回车! 由于是中文题目我就不介绍题意了,这里有几个需要注意的地方#include <iostream> #include <algorithm> #include <string.h> using namespace std; int a[5]; int main() { i原创 2017-02-12 20:18:03 · 460 阅读 · 0 评论