![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
月落乌啼霜月落
在减肥路上越走越远的废宅。。。
目前坐标 厦门U3D工程师
~~~算法赛高!!!!!
展开
-
Discrete Problem 4(离散数学4)
Think: 因为不知道输出的字符串是多长的,所以用getline(cin, str);读取至换行。然后进行分割字符串,直接用stringstream来进行分割字符串,利用用set自动去重复的特性来进行存储。随后在第二组输入的时候 判断 之前是否出现过 即s.count()是否为0, 不为0 就进行存储。然后直接sort排序,输出。Problem DescriptionGiven two sets原创 2017-03-28 20:32:07 · 495 阅读 · 0 评论 -
TimesIsMoney
Think: STL水了过去=== 注意点: 数据范围, 数据N范围很大不能用cin进行输入。Problem Description给你一个序列,有N个整数(int以内),判断一个数在这个序列中出现几次。 Input多组输入,输入到文件结尾 首先输入一个n,然后输入n个整数。 在输入一个m,代表查询的个数 ,然后输入m个数(int以内)。 n,m <= 100000; Output对原创 2017-08-11 14:47:25 · 354 阅读 · 0 评论 -
Ultimate Array
Think: 方案1 : 直接用一个map<long long int, int>;来进行储存即可。 方案2 : 字典树解题Problem DescriptionbLue 这次又获得了一个更厉害的数组,欣喜之余,他想知道某个数字在数组中出现了多少次,你能帮助他吗? Input输入数据有多组(数据组数不超过 20),到 EOF 结束。 对于每组数据: 第 1 行输入 2 个用空格隔开的整数原创 2017-08-08 08:36:37 · 242 阅读 · 0 评论 -
Message Flood
Think: 没怎么看题意, 看输入输出 感觉就是 输入 几个名字, 然后 再输入 m个名字 计算 没出现名字的 个数; 思路: 用 SET《string》 来存储, 第二次输入时 判断人名是否出现, 出现过的话 计数器 +1 &&同时 消去人名。 坑点: 贼坑!!WA了好多发, 不区分大小写!!!! tolower()的 作用就是将小写字母 转换为大写字母。Problem Desc原创 2017-06-03 21:22:32 · 346 阅读 · 0 评论 -
数据结构实验之排序七:选课名单
Think: 之前 一直RE很好多发 TAT思路: 用STL的vector, 然后存储, 用 自带的 sort 进行 排序, 根据要求 写出 cmp 比较函数。Problem Description随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。 Input输入第一行给出两个正整原创 2017-06-03 19:53:20 · 303 阅读 · 0 评论 -
数据结构上机实验之顺序查找
Think: STL中的set直接水过去~~~~Problem Description 在一个的序列里,查找元素是否存在,若存在输出YES,不存在输出NO. Input 本题多组数据,首先输入一个数字n,然后输入n(n<=1000)个数,然后再输入一个查找数字。 Output 若存在输出YES,不存在输出NO. Example Input4 1 3 5 8 3Example原创 2017-06-03 19:18:30 · 377 阅读 · 0 评论 -
数据结构实验之查找六:顺序查找
Think: 虽然查找题目 最开始想到就是 暴力查找, 后来看到n的范围 就知道暴力绝对TLE;思路: 直接用 STL 中的 MAP进行存储访问, 然后 看 我们需要的 元素 m 是否存在 然后输出就可以了Problem Description在一个给定的无序序列里,查找与给定关键字相同的元素,若存在则输出找到的元素在序列中的位序和需要进行的比较次数,不存在则输出”No”,序列位序从1到n,要求原创 2017-06-03 19:14:38 · 373 阅读 · 0 评论 -
菠萝的成绩单
Think: 因为此题的数据量较大, 所以采用 快排 , 然后 遍历输出就可以了~~~~, 因为C++的sort(a, a + n, cmp) 习惯了~~~导致 突然忘记C的 快排怎么写了 TAT 要反思啊!!!!!!Problem Description考完试以后,菠萝获得了一个含有 n 个成绩的成绩单,他要把成绩按照从高到低排序,如果成绩相同则按照学生编号从小到大排序。老师为了检原创 2017-05-16 20:33:37 · 390 阅读 · 0 评论 -
悼念512汶川大地震遇难同胞
Think: 因为要求 能购买的最大重量, 所以按照价格升序排列, 然后遍历 当N==0时 输出sum值就可以了。。。 题目非常长, 所以我就直接复制样例了。。。Input 输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(0 < n <= 1000, 0 < m <= 1000 ),分别表示经费的金额和大米的种类,然后是m行数据,每行包含2个整数p和h原创 2017-04-15 15:19:48 · 239 阅读 · 0 评论 -
商人小鑫
Think: 首先, 注意 题目 的要求是求利润, 其次 注意 数据较大 所以要用高效率的算法!!! 这点很重要!!!! 反正我用了sort函数水了, 因为按照利润排序所以 写了一个cmp 来进行交换。Problem Description 小鑫是个商人,当然商人最希望的就是多赚钱,小鑫也一样。 这天,他来到了一个遥远的国度。那里有着n件商品,对于第i件商品需要付出ci的价钱才能原创 2017-04-15 15:15:47 · 404 阅读 · 0 评论 -
L2-014. 列车调度
Think: 刚刚开始感觉做法和 动态规划的 “最少拦截系统”相似,后来发现 MAX(n) = 10^5 数值较大,感觉会TLE的样子, 所以就用STL的set来处理。最后只要返回set的size即为所求火车站的列车调度铁轨的结构如下图所示。Figure两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出原创 2017-03-25 20:54:07 · 688 阅读 · 0 评论 -
航空公司VIP客户查询
Think: 用STL水的,开一个MAP《string, int》来存储,输入的时候判断里程len是否大于给定的k值, 输出时判断是否为0。不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务。现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分的功能。 输入格式:输入首先给出两个正整数NNN(≤105原创 2017-03-25 14:46:05 · 4330 阅读 · 2 评论 -
简单STL归纳
陆续的题目以及部分没有写的内容将会在近期补上,初学者请多指教~~直接进入正题吧STL主要分为:①非修改操作 ②非修改操作;主要的头文件有:#include<algorithm> // 算法头文件#include<functional>#include<vector>#include<queue>#include<set>#include<map>一、非修改操作: //find()原创 2017-03-24 19:52:32 · 356 阅读 · 0 评论 -
二分练习
Think: 很简单的二分查找题, 但是 我没搞懂 我用 lower_bound和upper_bound时 为何 会超时。。。。近期补上STL解法吧。。Problem Description给你一个序列,然后给你m个元素,让你从序列中找出与每个元素最接近的数字输出来,如果有两个就输出两个。Input多组输入,第一行给你两个数n(0 < n < 10000000),m(0 < m < n),接下来原创 2017-08-14 20:54:31 · 470 阅读 · 0 评论