
STL
标准模板库
SYaoJun
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1139 First Contact (30 分)
//26分 最后一个测试点超时#include <cstdio>#include <cmath>#include <iostream>#include <string>#include <vector>#include <cstring>#include <algorithm> #include &...原创 2019-12-05 11:53:22 · 292 阅读 · 0 评论 -
1149 Dangerous Goods Packaging (25 分)
版本1map映射和遍历耗时14分钟#include <cstdio>#include <cmath>#include <iostream>#include <string>#include <vector>#include <cstring>#include <algorithm> #inclu...原创 2019-12-03 21:02:07 · 187 阅读 · 0 评论 -
第 k 大的整数
求 n 个整数中第 k(1≤k≤n) 大的整数。输入格式n 和 kn 个整数输出格式第 k 大的整数输入样例10 32 5 -1 9 25 0 12 4 -7 12输出样例12nth_element(a+l, a+k, a+r)实现[l,r)[l,r)[l,r)范围内第k小的数放在有序的位置#include <cstdio>#include <...原创 2019-11-25 20:14:53 · 2420 阅读 · 0 评论 -
L3-002 特殊堆栈 (30 分)
题目链接知识点:lower_bound(begin, end, value)大于等于value的迭代器位置版本1有序向量#include <iostream>#include <string>#include <algorithm>#include <stack>#include <vector>using names...原创 2019-11-17 11:48:08 · 602 阅读 · 0 评论 -
7-44 基于词频的文件相似度 (30 分)
集合数组先检查输入的单词是否分割正确,再进行统计。注意点:单词大小写不敏感单词长度大于2且小于等于10,以非字母分割。两个文件的单词总量如果有相同的单词,只统计一次。#include <cstdio>#include <algorithm>#include <string>#include <iostream>#include...原创 2019-11-16 14:00:25 · 661 阅读 · 0 评论 -
寻找舞伴
牛客网题目链接#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <algorithm>#include <unordered_map>using namesp...原创 2019-10-24 22:57:17 · 371 阅读 · 0 评论 -
编排字符串【北京理工大学】
题目链接#include<bits/stdc++.h>using namespace std;int main(){ int n; string str; while(cin>>n){ vector<string> v; while(n--){ cin>>str; v.push_back(str); int k...原创 2019-08-02 20:52:57 · 196 阅读 · 0 评论 -
魔咒词典【浙江大学】★
题目描述哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。 给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒时,你的程序要替他找到相应的魔咒。如果他要的魔咒不在词典中,就输出“what?”...原创 2019-07-31 14:38:55 · 267 阅读 · 0 评论 -
155. Min Stack
class MinStack {public: /** initialize your data structure here. */ MinStack() { } stack<int> st, st_min; void push(int x) { st.push(x); if(st_...原创 2019-08-24 08:24:23 · 125 阅读 · 0 评论 -
ZOJ2104 Let the Balloon Rise
#include<string> #include<iostream> #include<unordered_map>#include<algorithm>using namespace std;int main(){ int n; string s; while(cin >> n){ if(!n) break;...原创 2019-08-24 14:17:45 · 149 阅读 · 0 评论 -
1021 个位数统计 (15 分)
直接用map自带的排序#include <iostream>#include <string>#include <map> #include <algorithm>using namespace std;int main(){ string str; map<char, int> mp; cin >> st...原创 2019-08-30 17:04:44 · 168 阅读 · 0 评论 -
1064 朋友数 (20 分)
#include <string>#include <cstdio>#include <iostream>#include <set>#include <algorithm> using namespace std;int main(){ int n, x; cin >> n; set<int>...原创 2019-08-31 13:25:00 · 148 阅读 · 0 评论 -
1047 Student List for Course (25 分)
第一次提交用的map映射,最后有个测试点超时,我以为时cout输出导致的,后来想了一下才发现有更简单的方法做出来,所以这个超时是必然的。这里直接用vector记录名字就完成了。再sort函数中,如果不自定义比较方式,通常是按照字符串的字典序排列的。#include<iostream>#include<cstdio>#include<set>#incl...原创 2019-02-25 15:09:06 · 261 阅读 · 0 评论 -
1039 Course List for Student (25 分)
C的输入输出和C++的输入输出最好不要混用,不然比单用C++更耗时,总的来说,用C最快。这里使用unordered_map可以稍微快一点,但是经过测试,使用map也能通过,只不过是险过。#include<cstdio>#include<iostream>#include<vector>#include<unordered_map>#incl...原创 2019-02-25 16:11:05 · 255 阅读 · 0 评论 -
49. Group Anagrams
class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { unordered_map<string, vector<string>> mp; for(auto str : str...原创 2019-09-01 09:44:58 · 101 阅读 · 0 评论 -
problem E【西安电子科技大学】
题目链接括号匹配是典型的考查栈的题目但是本题用数组模拟即可#include<bits/stdc++.h>using namespace std;const int maxn=1e3+5;char arr[maxn];int main(){ int n; while(cin>>n){ string str; while(n--){ cin>...原创 2019-07-29 20:46:31 · 219 阅读 · 0 评论 -
寻找大富翁【浙江大学】★
题目链接优先队列#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;int arr[maxn];int main(){ int n,m,x; priority_queue<int, vector<int>, greater<int> > pq; while(...原创 2019-07-29 18:44:48 · 488 阅读 · 0 评论 -
全排列【北京大学】
题目描述给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有’a’ < ‘b’ < … < ‘y’ < ‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。输入描述:输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。输出描述:输出这个字符串的所有排列方式,每行一个排列。要求字母序...原创 2019-07-29 10:28:24 · 228 阅读 · 0 评论 -
优先队列模板——洛谷
https://www.luogu.org/problemnew/show/P3378小知识:优先队列默认数字大的优先级高,即less#include #include using namespace std;priority_queueint,vectorint>,greaterint> > q;int main(){ int t,op,num; scanf("%原创 2018-01-31 16:20:07 · 337 阅读 · 0 评论 -
快排模板
快排的模板#includeconst int maxn = 100005;int arr[maxn]={0};void quickSort(int *arr,int left,int right){ int i = left,j =right; int mid = arr[(i+j)/2]; while(i<=j){ while(arr[i]mid原创 2018-02-01 18:35:13 · 244 阅读 · 0 评论 -
1051. Pop Sequence (25)
解题思路:这道题很容易理解,就是栈这一节经常考的选择题,判断是否在容量允许范围内,产生一个出栈序列。 总之,当时做题怎么判断的,这个程序也是怎么判断的。 很容易的,有点搞的东西都在代码注释中。 不要试图边输入边判断,行不通的!#include #include using namespace std;const int maxn = 1005;int arr[maxn];int原创 2018-02-01 20:33:01 · 256 阅读 · 0 评论 -
1085 PAT单位排行 (25 分)
一道因为自己弱智而差点就地身亡的题。第一次提交,最后一个测试点没通过,我以为自己是特殊情况没考虑到,然后反复思考了近半个小时无果,本来下定决定坚决不百度的,最后我放弃了。然后看了别人的代码,发现最后一个测试点会超时,各种原因,我又提交了N次,还是不通过。最后终于TMD破案了。我知道中间结果是浮点数,但是我以为整型会自动转换成浮点型。我真是个弱智,蠢逼!以上全是我个人情绪,说出来引以为戒。注...原创 2019-01-24 16:52:11 · 385 阅读 · 1 评论 -
1090 危险品装箱 (25 分)
惯用风格,流氓题解,直接贴代码没有任何注释和解释。这次我决定稍微写点。这道题还是蛮简单的,主要是要想到使用标准模板库的多重映射。开始我以为是并查集的题。思路:先把冲突的存在映射中,然后读入一行查询数据。要满足两个条件才会冲突。1.存在与之冲突的项2.这个项出现在读入的数据中代码还算清晰,不明白的地方欢迎留言。#include<cstdio>#include<m...原创 2019-01-25 12:29:46 · 1029 阅读 · 0 评论 -
1075 链表元素分类 (25 分)
这是看了柳神的代码之后改的,我自己写的代码第五个测试点死活通不过。之前学习链表想到拼接链表的办法,虽然有点麻烦,但是我决定尝试一下,我知道很可能是某个地方拼接失误了,不然肯定能通过的。我把代码放在后面,如果有看出我错误的同学,麻烦指正一下。#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;struc...原创 2019-01-28 22:00:40 · 436 阅读 · 1 评论 -
1022 Digital Library (30 分)
注意:1.书名是7位数,需要补零。2.题目要求按照从小到大输出书名,所以用set比较好。3.关键字的读入技巧要学到。4.对参数使用引用会稍微快点。//map的应用 #include<cstdio>#include<iostream>#include<map>#include<set> #include<algorithm&g...原创 2019-02-15 11:55:58 · 796 阅读 · 1 评论 -
1054 The Dominant Color (20 分)
map的模板题注意:增加变量V的技巧可以减少对map遍历求最值#include<cstdio>#include<map>using namespace std;int main(){ int n,m,num,V=0; map<int,int> mp; scanf("%d%d",&n,&m); for(int i=0;i<...原创 2019-02-15 12:11:11 · 196 阅读 · 0 评论 -
1071 Speech Patterns (25 分)
#include<cstdio>#include<map>#include<cctype>#include<cstring>#include<iostream>#include<string>using namespace std;char st[1048596],key[1048596];int main...原创 2019-02-15 12:58:28 · 184 阅读 · 1 评论 -
1016 Phone Bills (25 分)
我之所以直接把代码贴上来,而没有太多解释,不是为了解析这道题目,而是为了方便我以后自己查看。这道题花了两个小时都没做出来,最后看了答案才知道,可以用map与向量的映射,这是第一次用,所以学到了。其次是不知道怎么算时间的差值和根据每个阶段的费用求结果。方法有2:1.直接求起始日期时间与终止日期的差值2.求当前日期与每月1号的相对差值,然后两个日期的相对差值相减就是绝对差值while(sta...原创 2019-02-16 11:32:09 · 414 阅读 · 0 评论 -
1041 Be Unique (20 分)
简单题可以用散列,也可以用map#include<cstdio>#include<map>using namespace std;const int maxn=1e4+5;int arr[maxn];int main(){ int n; map<int,int> mp; scanf("%d",&n); for(int i=0;i&l...原创 2019-02-16 13:06:24 · 186 阅读 · 0 评论 -
1063 Set Similarity (25 分)
考查set的模板题要注意的地方是查询两个集合中是否有相同元素时,可以只用一次循环,同时利用find函数来实现。如果使用map来映射会超时。#include<cstdio>#include<set>#include<iostream>#include<map>using namespace std;const int maxn=55;i...原创 2019-02-16 14:32:25 · 190 阅读 · 0 评论 -
1077 Kuchiguse (20 分)
使用string来处理比较方便同时注意在使用getline的时候,要把前面scanf或者cin没有吸收的换行符用getchar吸收掉#include<iostream>#include<string>#include<cstdio>using namespace std;int main(){ int n; scanf("%d",&n);...原创 2019-02-16 21:02:24 · 171 阅读 · 0 评论 -
7-14 电话聊天狂人 (25 分)
使用STL标准模板库的map函数因为map函数自带排序功能,随意放入的内容都是按照字典序排列的,即从小到大所以这道题只要处理遍历一次,然后统计并列的情况,如果并列超过1,则需要按照另一个格式输出,否则只需输出通话最多的电话号码和通话次数。#include<cstdio>#include<iostream>#include<map>#include&l...原创 2019-02-11 12:36:56 · 844 阅读 · 0 评论 -
1129 Recommendation (25 分)
解题思路:主要是及时更新商品频率最高的次数,然后输出推荐的k件商品。 注意格式!#include#include#define N 50005using namespace std;int cnt[N];struct item{ int id,count; item(int a,int b):id(a),count(b){} bool operator c原创 2018-01-30 19:38:25 · 358 阅读 · 0 评论