
PAT-排序 STL应用 hash
分类整理 志在必得
江船夜雨听笛
我无法原谅 什么都不做 却抱有期待的自己 行动起来 必须行动起来
展开
-
pat-1002
有时不能用set计个数以及scanf 输入类型错误#include<iostream>#include<set>using namespace std;float book[1001]={0};//set<int> num; 有正有负有相互抵消的情况,所以不能用set计数 int main(){ int _1,_21; float _22;//输入出问题是因为都用的int型但其中有float其他形式类型对不对 for(int i=0;i&..原创 2021-01-29 11:50:25 · 115 阅读 · 0 评论 -
pat-1006
#include<iostream>using namespace std;int gett(string a){ int h=stoi(a.substr(0,2)); int m=stoi(a.substr(3,2)); int s=stoi(a.substr(6,2)); return h*3600+m*60+s;}int main(){ int n,minn=1000000,maxn=-1; cin>>n; string maxi,mini; ch.原创 2021-01-28 23:56:10 · 89 阅读 · 0 评论 -
pat-1012
#include<iostream>#include<algorithm>#include<vector>#include<map>using namespace std;struct node{ int id; int gra[4];//ACME int rank[4]; int best; int acm;};int flag=-1;map<int,node> gett;bool cmp(node&a,no.原创 2021-01-28 22:44:17 · 87 阅读 · 0 评论 -
pat-1022
有一个点没过自己写的有点复杂,不先找了,总结一下错误 必须二刷#include<iostream>#include<string>#include<vector>#include<set>#include<map>#include<cstring>#include<cctype>using namespace std;map<string,set<int>> bkt,nfa,.原创 2021-01-28 20:35:05 · 114 阅读 · 0 评论 -
pat-1025
#include<iostream>#include<vector>#include<algorithm>using namespace std;struct node{ long long int id; int sc; int fr,loc,lr;};bool cmp(node&a,node&b){ if(a.sc!=b.sc){//这也要改(注意) return a.sc>b.sc;//我们是在分数的基础上给排名(注.原创 2021-01-28 15:59:02 · 156 阅读 · 0 评论 -
pat-1028
#include<iostream>#include<algorithm>#include<vector>#include<cstring> //要加上此头文件 要用strcmp(注意) using namespace std;struct node{ int id; char nam[10]; int gra;};bool cmp1(node&a,node&b){ return a.id<b.id;}bool.原创 2021-01-27 23:05:10 · 89 阅读 · 1 评论 -
pat-1039
unorder_map 数据量小的时候快,当数据量大的时候,散列冲突也厉害也不一定比map好 比如此题我用map 提交了几次 蹦超时线了,用um一次也没成功过哈哈~~unordered库使用“桶”来存储元素,散列值相同的被存储在一个桶里。当散列容器中有大量数据时,同一个桶里的数据也会增多,造成访问冲突,降低性能。为了提高散列容器的性能,unordered库会在插入元素是自动增加桶的数量,不需要用户指定。但是,用户也可以在构造函数或者rehash()函数中,指定最小的桶的数量。#i...原创 2021-01-27 20:48:57 · 138 阅读 · 0 评论 -
pat-1041
#include<iostream>#include<vector>#include<map>using namespace std;map<int ,int> num;int main(){ int n; cin>>n; vector<int>v(n); for(int i=0;i<n;i++){ scanf("%d",&v[i]); num[v[i]]++; } int i=0; fo.原创 2021-01-27 19:28:01 · 90 阅读 · 1 评论 -
pat-1047
#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<string>v[40000];bool cmp(string a,string b){ return a<b;}int main(){//括号忘带导致出错低级错误(注意) int n,m,k,_1; string a; cin>>n>>m; .原创 2021-01-27 19:11:01 · 76 阅读 · 0 评论 -
pat-1048
#include<iostream>#include<algorithm>#include<vector>using namespace std;int a[1009]={0};//vector<int> vv(10009);//为什么不能放到里面 int main(){ int n,m; cin>>n>>m; vector<int> vv(n);//位置又放错,带大小的声明一度要放在输入之后 (注意).原创 2021-01-27 16:09:12 · 93 阅读 · 1 评论 -
pat-1050
#include<iostream>#include<string>#include<cstring>using namespace std; bool book[256]={false} ;int main(){ char a[100000],b[100000]; cin.getline(a,100000); cin.getline(b,100000); int num1=strlen(a); int num2=strlen(b); for(i.原创 2021-01-27 15:06:46 · 104 阅读 · 0 评论 -
pat-1051
栈遇见的少要多做几遍#include<iostream>#include<stack>#include<vector>using namespace std;int main(){ int maxs,n,m,temp; cin>>maxs>>n>>m; for(int i=0;i<m;i++){ stack<int> ss;//crt vector<int> dl;//vec.原创 2021-01-27 12:31:25 · 87 阅读 · 0 评论 -
pat-1054
#include<iostream>#include<map>using namespace std;map<int,int> num;int main(){ int n,m,temp; cin>>n>>m; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cin>>temp; num[temp]++; } } int half=m*n/2;.原创 2021-01-27 00:20:53 · 91 阅读 · 2 评论 -
pat-1055
二刷用char#include<iostream>#include<algorithm>#include<vector>#include<cstring>//cstring 是用来strcmp的 using namespace std;struct node{ char nam[10];//大小可以多但是不能少 int age; int worth; };bool cmp(node &a,node &b) {..原创 2021-01-26 23:54:13 · 114 阅读 · 0 评论 -
pat-1056
需二刷#include<iostream>#include<queue>#include<vector>#include<algorithm>using namespace std;struct node{ int index,index0,wei; int rank;};bool cmp(node &a,node&b){ return a.index0<b.index0;//都写成a细节错误精力不集中,最后要检原创 2021-01-26 21:09:52 · 165 阅读 · 1 评论 -
pat-1062
#include<iostream>#include<algorithm>#include<vector>using namespace std;struct node{ int id; //8位 int v,t; int tot;};bool cmp(node&a,node&b){ if(a.tot!=b.tot){ return a.tot>b.tot; } else if(a.v!=b.v){ return.原创 2021-01-26 15:09:30 · 101 阅读 · 1 评论 -
pat-1063
#include<iostream>#include<vector>#include<unordered_set>#include<algorithm>using namespace std;int main(){ int n,temp,m,_1,_2,num=0,temp1; scanf("%d",&n); unordered_set<int> v[n+1]; for(int i=1;i<=n;i++){.原创 2021-01-26 12:33:23 · 112 阅读 · 1 评论 -
pat-1071
#include<iostream>#include<cctype>#include<map>using namespace std;map<string,int> ans;int main(){ string s,k; string in; int maxn=0; getline(cin,s); for(int i=0;i<s.size();i++){ if(isalnum(s[i])) //0--9 A--Z a--z.原创 2021-01-26 00:28:33 · 112 阅读 · 1 评论 -
pat-1080
#include<iostream>#include<vector>#include<algorithm>#include<unordered_map>using namespace std;struct node{ int id,ge; double final;};bool cmp(node &a,node&b){ if(a.final!=b.final) return a.final>b.final; els.原创 2021-01-25 22:07:26 · 110 阅读 · 0 评论 -
pat-1083
#include<iostream>#include<vector>#include<algorithm>using namespace std;struct node{ string nam,id; int gra;};bool cmp(node &a,node &b){ return a.gra<b.gra;}vector<node>ans,anse;int main(){ int n,_3; scanf.原创 2021-01-25 17:39:15 · 81 阅读 · 0 评论 -
pat-1084
#include<iostream>#include<cctype>using namespace std;int main(){ string a,b,ans; cin>>a>>b; for(int i=0;i<a.size();i++){ if(b.find(a[i])==string::npos&&ans.find(toupper(a[i]))==string::npos)//大小写都不存在(注意后面是ans.fi.原创 2021-01-25 16:25:20 · 88 阅读 · 0 评论 -
pat-1092
#include<iostream>using namespace std;int book[256];int main(){ string a,b; cin>>a>>b; for(int i=0;i<a.size();i++){ book[a[i]]++; } int result=0; for(int i=0;i<b.size();i++){ if(book[b[i]]>0) book[b[i]]--; else.原创 2021-01-25 15:49:33 · 113 阅读 · 0 评论 -
pat-1100
题干包括样例内容,样例中有时会有一些隐藏信息(注意)!!此题样例中隐含信息是如果是高一位且是13的倍数火星文不需要输出0,和我们地球数字的区别#include<iostream>#include<vector>using namespace std;string aaa[13]={"tret","jan","feb","mar", "apr","may","jun","jly","aug","sep", "oct","nov","dec" };string bbb[1.原创 2021-01-25 00:23:19 · 491 阅读 · 0 评论 -
pat-1101
由硬算超时,到找到规律的我哈哈哈~~~#include<iostream>#include<vector>#include<set>#include<algorithm>using namespace std;const int inf=1000000000;set<int>ans,temp;int main(){ int n; cin>>n; vector<int> a(n); for(int.原创 2021-01-24 21:58:07 · 152 阅读 · 1 评论 -
pat-1112
#include<iostream>#include<map>#include<set>#include<algorithm>bool sure[200];using namespace std;//认真总结一下什么时候用map做标记合适,什么时候直接用数组合适 int main(){ int k,cnt=1; cin>>k; string a; cin>>a; char pre; // fill(sure,.原创 2021-01-24 19:44:55 · 141 阅读 · 0 评论 -
pat-1113
#include<iostream>#include<algorithm>using namespace std; int main(){ int n,temp,sum=0,halfsum=0; scanf("%d",&n); int a[n]; for(int i=0;i<n;i++){ scanf("%d",&temp);//输入没带&,转两圈结束(注意) a[i]=temp; sum+=temp; } sort(a.原创 2021-01-24 15:55:32 · 125 阅读 · 0 评论 -
pat-1120
#include<iostream>#include<string>#include<set>using namespace std;int main(){ int n; string temp; cin>>n; set<int> ans; for(int i=0;i<n;i++){ cin>>temp; int sum=0; for(int j=0;j<temp.size();j++){ .原创 2021-01-24 15:23:17 · 89 阅读 · 0 评论 -
pat-1121
这种题先去找找规律,其中一个出现后另一个一定会怎么样#include<iostream>#include<vector>#include<set>using namespace std;int main(){ int n,temp1,temp2,m; scanf("%d",&n); vector<int>cou(100000); for(int i=0;i<100000;i++){ cou[i]=-1; } .原创 2021-01-24 14:54:04 · 151 阅读 · 0 评论 -
pat-1124
发现一个重要问题,如果用一个临时变量重复输入,再建立键值对,只能用cin>>,不能用scanf#include<iostream>#include<map>using namespace std;map<string,int> pos;int main(){ int m,n,s; scanf("%d %d %d",&m,&n,&s); for(int i=1;i<=m;i++){ string tem.原创 2021-01-24 11:56:19 · 103 阅读 · 0 评论 -
pat-1125
其实这题有点像哈夫曼树#include<iostream>#include<algorithm>using namespace std;int main(){ int n; scanf("%d",&n); double a[n]; fill(a,a+n,0); for(int i=0;i<n;i++){ scanf("%lf",&a[i]);//输入double型就要%lf把scanf后面跟的东西弄对(注意) } sort(a,.原创 2021-01-23 23:15:51 · 123 阅读 · 0 评论 -
pat-1129
我只能说牛逼啦我的思路 后面超时 for循环太多了#include<iostream>#include<vector>#include<unordered_map>#include<algorithm>#include<set>#include<cmath>using namespace std;struct node{ int index,fre;}; bool cmp(node&a,node&.原创 2021-01-23 20:21:05 · 146 阅读 · 1 评论 -
pat-1137
在RE的边界蹦迪~~第一次有一个点超时,重新提交192ms(200ms上限)哈哈哈~~别学我哦#include<iostream>#include<vector>#include<unordered_map>#include<algorithm>#include<set>using namespace std;unordered_map<string,int> gpp;unordered_map<string,原创 2021-01-23 16:06:21 · 116 阅读 · 0 评论 -
pat-1141
#include<iostream>#include<cctype>#include<unordered_map>#include<algorithm>#include<vector>using namespace std;struct node{ string s; int score; int num;}; bool cmp(node&a,node&b){ if(a.score!=b.score) re.原创 2021-01-23 14:32:23 · 102 阅读 · 0 评论 -
pat-1134
非常特别一道题 注意学习其中运用hash的思想#include<iostream>#include<vector>#include<algorithm>using namespace std;int main(){ int n,m,a,b,k,tempk,c; cin>>n>>m; int hash[m]={0}; vector<int> v[n]; for(int i=0;i<m;i++){ cin&原创 2021-01-23 00:29:13 · 157 阅读 · 0 评论 -
pat-1144
小题目 大经验#include<iostream>#include<map>using namespace std;int main(){ int n,temp,num=0; map<int,int>pos; cin>>n; for(int i=0;i<n;i++){ cin>>temp; pos[temp]++;//只要别让他为0即可 } //int a=num++; //printf("%d",a);.原创 2021-01-22 23:32:32 · 114 阅读 · 0 评论 -
pat-1145
#include<iostream>#include<vector>using namespace std;vector<int> v,f;bool prime(int j){ for(int i=2;i*i<=j;i++){//素数生成i*i<=n 等于号不能掉(注意) if(j%i==0){ return false; } } return true;}int main(){ int tsize,n,m,te.原创 2021-01-22 22:54:57 · 112 阅读 · 1 评论 -
pat-1149
#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<int>v[100000];int main(){ int n,m,_1,_2,k,kt; cin>>n>>m; for(int i=0;i<n;i++){ cin>>_1>>_2; v[_1].push_back(_2.原创 2021-01-22 16:04:04 · 114 阅读 · 1 评论 -
pat-1153
#include<iostream>#include<vector>#include<unordered_map>#include<algorithm>#include<string>using namespace std;struct node{ int val; string str;};bool cmp( node&a, node&b){ return a.val==b.val? a.str<b.原创 2021-01-22 15:15:49 · 173 阅读 · 0 评论