PAT
小怪兽会微笑
华师大小博士
展开
-
ECNU3238. 字串非重复字符数排序
【代码】ECNU3238. 字串非重复字符数排序。原创 2023-03-07 14:06:27 · 198 阅读 · 0 评论 -
ECNU2984. 数学手稿
【代码】ECNU2984. 数学手稿。原创 2023-03-07 13:43:01 · 126 阅读 · 0 评论 -
ECNU203.2333进制
【代码】2333进制的Python3实现【ECNU Online Judge】原创 2023-03-02 16:01:29 · 175 阅读 · 0 评论 -
stack的常用操作
欢迎访问我的STL库介绍本文介绍常用的PAT里STL库stack的使用,对付PAT考试或其他上机要求足够了声明stack<int> st;//int栈stack<string> st;//string栈struct person{ string name; int id;}per;stack<person> st;//person栈插入...原创 2020-04-20 15:35:20 · 410 阅读 · 0 评论 -
set的常用操作
欢迎访问我的STL库介绍本文介绍常用的PAT里STL库set的使用,对付PAT考试或其他上机要求足够了声明set<int> st;//int类型setset<string> st[101];//set<string>类型的集合数组struct person{ string name; int id;}per;set<person> ...原创 2020-04-20 15:20:45 · 409 阅读 · 0 评论 -
queue的常用操作
欢迎访问我的STL库介绍本文介绍常用的PAT里STL库queue的使用,对付PAT考试或其他上机要求足够了声明queue<int> q;//声明了一个int队列queue<string> q;//声明了一个string队列//当然也可以放入结构体#include <bits/stdc++.h>using namespace std;stru...原创 2020-04-20 12:36:04 · 531 阅读 · 1 评论 -
map的常用操作
欢迎访问我的STL库介绍本文介绍常用的PAT里STL库map的使用,对付PAT考试或其他上机要求足够了声明//map完成key->value的映射map<string,int> nametoid;//声明成string类型到int类型的映射mapmap<string,set<int>> nametoset;//声明成string类型到set&...原创 2020-04-20 12:11:02 · 383 阅读 · 0 评论 -
vector的常用操作
欢迎访问我的STL库介绍本文介绍常用的PAT里STL库vector的使用,对付PAT考试或其他上机要求足够了声明vector<int> a;//声明了一个int类型向量,类似于int数组,但不同,vector是动态的,声明时不需要声明大小vector<string> b;//也可以声明一个string类型的向量vector<int> node[10...原创 2020-04-20 11:33:55 · 669 阅读 · 0 评论 -
C++在PAT里常使用的函数
1.max和minint a,b;scanf("%d %d",&a,&b);printf("%d %d",max(a,b),min(a,b));//输出最大值,最小值2.absint a;scanf("%d",&a);printf("%d",abs(a));//输出a的绝对值3.strcmpchar a[15],b[15];scanf("%s %s"...原创 2020-04-20 10:40:08 · 365 阅读 · 0 评论 -
C++求素数模板
欢迎访问我的PAT技巧篇bool isprime(int a){//素数=质数 if(a<=1)return false; int sqr=(int)sqrt(a*1.0); for(int i=2;i<=sqr;i++) if(a%i==0)return false; return true;原创 2020-04-20 09:53:54 · 378 阅读 · 0 评论 -
C++的树的各种遍历模板
先序遍历(中->左->右)void preorder(node* root){ if(root==NULL)return; printf("%d",root->data); preorder(root->lchild); preorder(root->rchild);}中序遍历(左->中->右)void preorder(node* ro...原创 2020-04-20 09:48:00 · 318 阅读 · 0 评论 -
PAT里STL库string的使用
本文介绍常用的PAT里STL库string的使用,对付PAT考试或其他上机要求足够了初始化string a="123"+"456";string b="acb";string c=a+b;s.begin()和s.end()//s.begin()获得初始指针,常与s.erase()一起使用,删去开头元素s.end()获得结束指针string a="123";a.erase(a.be...原创 2020-04-19 22:23:17 · 387 阅读 · 0 评论 -
C++中sort函数的使用
欢迎访问我的PAT技巧篇//该函数是个非常常用的函数,广泛存在与PAT的模拟题,排序题等各类问题//函数有3个参数,分别为起始指针,结束指针(该指针元素不操作),cmp比较函数,下面使用一些实例说明它的使用数组操作int a[100],n;cin>>n;for(int i=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n);//...原创 2020-04-19 15:25:08 · 257 阅读 · 0 评论 -
C++如何黑盒输入
欢迎访问我的PAT技巧篇//while...EOF在代码中输入时不知道什么时候结束时要用到while(scanf("%d",&n)!=EOF){ //此处根据需要修改,如输入负数结束,可以写if(n<0)break;}//windows系统用Ctrl+z+Enter结束输入//linux系统用Enter,再Ctrl+d结束输入...原创 2020-04-19 15:07:44 · 289 阅读 · 0 评论 -
C++中INT_MAX的使用
//INT_MAX是个很大的数,如果想得到数组中最小值,可以先将minn设成INX_MAX,这样就不需要const int定义一个很大的数了,还有很多地方都可以使用它int minn=INT_MAX;for(int i=0;i<n;i++){ if(arr[i]<minn)minn=arr[i];}...原创 2020-04-19 14:55:10 · 30345 阅读 · 1 评论 -
C++进制转换模板
do{ num[i++]=n%radix; n/=radix;}while(n!=0);原创 2020-04-19 14:49:07 · 412 阅读 · 0 评论 -
C++得到最大公约数模板
int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}原创 2020-04-19 14:45:58 · 366 阅读 · 1 评论 -
PAT有几个测试点总是答案错误怎么办
PAT有几个测试点总是答案错误怎么办情况1检查是否题目要求你输出“No solution”,而你输出了“No Solution”等类似情况情况2检查边界数据,比如数据全负数,没有一个合法数据等边界情况情况3耐心检查,这种问题最难解,可能检查的时间大于之前写代码的时间,可以看看网上别人的参考代码,如果我的,哈哈,我的题解里面会说明题目的注意点和一些易错的测试数据,欢迎访问...原创 2020-04-19 13:51:40 · 2263 阅读 · 0 评论 -
PAT出现格式错误怎么办
PAT出现格式错误怎么办情况1检查最后一个输出数据后是否又输出了空格情况2检查输出的内容是否和题目相符,如题目要求输出”YES“,而你输出”Yes"情况3程序最后是否输出换行,有些题目硬性要求程序最后换行情况4检查下边界数据的格式输出是否有问题...原创 2020-04-19 13:43:58 · 2879 阅读 · 0 评论 -
PAT出现运行超时怎么办
PAT出现运行超时怎么办检查以下情况情况1(小概率)题目输入的数据量大,而使用了cin,cout,getline这些输入方式,换回scanf()输入,printf()输出情况2(大概率)死循环,检查循环体或递归函数,可以考虑在循环体里面输出下中间结果,一般一下就知道哪里写错了情况3(大概率)没有按照出题人的本意解决问题。比如出题人想要你用一些技巧或预处理或特定算法简化问题,使得问题的...原创 2020-04-19 13:37:11 · 12395 阅读 · 2 评论 -
PAT出现段错误怎么办
PAT出现段错误怎么办如果出现段错误一般是以下情况:①数组越界(大概率):检查一下数组大小是不是少写了个0(笔者以前就有过…),如果题目要求1000,建议写1010检查循环遍历的过程中,是否有个别下标越界的情况。sort函数里cmp比较函数必须要有返回值,比如只有一个return,不要在前面再写个if语句画蛇添足了如果数组比较大,一般来说>10000就算大,就请在main的外面...原创 2020-04-19 13:24:45 · 1049 阅读 · 0 评论 -
PAT的代码最后是否要输出换行'\n'
PAT的代码最后是否要输出换行’\n’该问题分成两种情况①如果在考试现场:则不用担心该问题,因为考试的时候会给出明确要求,如果遇到不可抗力,就问下监考老师,或者考虑提交两次代码,如果出现格式错误,则考虑修改代码即可②如果在平常练习提交的代码中:一般题目输不输出换行都可以,这个一般的概率有95%以上,但有时会遇到个别题目想考你这方面内容(笔者这里不记得是哪题了,之前有一题莫名其妙一定要最后换行...原创 2020-04-19 13:00:51 · 511 阅读 · 0 评论 -
PAT.A1026 Table Tennis
返回目录题意有K张乒乓球桌(编号为1~K)于8.00:00 ~ 21:00:00开放,每对球员(由于球员总是成对,因此为了避免歧义,以下叙述中都把“一对球员”叙述为“一个球员”) 到达时总是选择当前空闲的最小编号的球桌进行训练,且训练时长超过2h,会被强制压缩成2h,而如果到达时没有球桌空闲,则排成队列等待。需要注意的是,这K张球桌中有M张是VIP球桌,如果存在VIP球桌空闲,且等待队列中存在...原创 2020-04-19 12:23:25 · 241 阅读 · 0 评论 -
PAT.A1095 Cars on Campus
返回目录题意给出N条记录,每条记录给出一辆车的车牌号、 当前时刻以及出入校情况(入校(in)还是出校(ou))。然后给出K个查询,每个查询给出个时刻, 输出在这个时刻校园内的车辆数。查询完毕后输出在学校内停留时间最长的车辆的车牌号(如果有多个,就一并输出)和对应的停留时间。注意:对同一辆车来说, 配对的on和off必须满足在把这辆车的记录按时间顺序排列后,在它们之间不允许出现其他on或者of...原创 2020-04-18 22:30:13 · 177 阅读 · 0 评论 -
PAT.A1014 Waiting in Line
返回目录题意某银行有N个窗口,每个窗口前最多可以排M个人。现在有K位客户需要服务,每位客户的服务时长已知。假设所有客户均在08:00按客户编号次序等在黄线外,且如果有窗口的排队人数没有排满(没有达到M人),当前在黄线外的第一一 个客户就会选择这样的窗口中排队人数最少的窗口去排队(排队人数相同时,选择窗口序号最小的窗口去排队)。给出Q个查询,每个查询给出一位客户的编号,输出这位客户的服务结束时间...原创 2020-04-18 21:13:02 · 185 阅读 · 0 评论 -
PAT.A1017 Queueing at Bank
返回目录题意有N个客户,K个窗口。给出每个客户的到达时间和服务时长,如果所有窗口都被占用,那么客户将在黄线外进行排队(只有一个队);否则,如果有窗口无人服务,那么由队列的第一个客户前往接受服务。求客户的平均等待时长。注意,银行开放时间为08:00~ 17:00, 在08:00之前到达的需要等待,在17:00之后(不含17:00) 还未被服务的客户将不被计算在内。另外,超过1h的服务时长会被缩短...原创 2020-04-18 19:19:17 · 231 阅读 · 0 评论 -
PAT.A1050 螺旋矩阵
返回目录样例(可复制)1237 76 20 98 76 42 53 95 60 81 58 93//output98 95 9342 37 8153 20 7658 60 76注意点本题需要解决两个问题:①得到螺旋矩阵的宽col和高row②输出矩阵对于问题①,由于高度>=宽度,固将高度设置成row=(int)ceil(sqrt(n*1.0));然后不断row++...原创 2020-04-18 17:46:48 · 164 阅读 · 0 评论 -
PAT.A1057 Stack
返回目录题意给出一个栈的入栈(Push)、出栈(Pop)过程,并随时通过PeekMedian命令要求输出栈中中位数(Pop命令输出出栈的数)。当栈中没有元素时,Pop命令和PeekMedian命令都应该输出“Invalid"。样例(可复制)17PopPeekMedianPush 3PeekMedianPush 2PeekMedianPush 1PeekMedianPop...原创 2020-04-18 11:58:57 · 269 阅读 · 0 评论 -
PAT.A1068 Find More Coins
返回目录题意有N枚硬币,给出每枚硬币的价值,现在要用这些硬币去支付价值为M的东西,问是否可以找到这样的方案,使得选择用来支付的硬币的价值之和恰好为M。如果不存在,输出No Solution; 如果存在,从小到大输出选择用来支付的硬币的价值,如果有多种方案,则输出字典序最小的那个。所谓的字典序小是指:有两种方案分别为{A[1], A[2],… }与{B[1], B[2],…如果存在k≥1,使得对...原创 2020-04-18 11:09:46 · 235 阅读 · 0 评论 -
PAT.A1040 Longest Symmetric String
返回目录题意样例(可复制)10-10 1 2 3 4 -5 -23 3 7 -21//output10 1 4注意点本题使用动态规划,问题为最大连续序列和。如果4号测试点没过的话检查一下输入全负数的情况。注意样例中的1和4不是下标,而是起点和终点的值#include<bits/stdc++.h>using namespace std;int dp[1...原创 2020-04-18 10:24:17 · 219 阅读 · 0 评论 -
PAT.A1045 Favorite Color Stripe
返回目录题意给出m种颜色作为主人公Eva喜欢的颜色( 同时也给出顺序),然后给出一串长度为L的颜色序列。现在要去掉这个序列中Eva不喜欢的颜色,然后求剩余序列的一一个子序列,使得这个子序列表示的颜色顺序符合Eva 喜欢的颜色的顺序(不一定 要所有喜欢的颜色都出现)样例(可复制)65 2 3 1 5 612 2 2 4 1 5 5 6 3 1 1 5 6//output7注意点...原创 2020-04-18 09:45:45 · 272 阅读 · 0 评论 -
PAT.A1007 Maximum Subsequence Sum
返回目录题意给一个数字序列ai,a2…an,求i,j(1≤i≤j≤n),使得ai+…+aj最大,输出最大和以及ai,aj。如果有多种方案使得和最大,那么输出其中i,j最小的一组。如果所有数都小于0,那么认为最大和为0,并输出首尾元素。样例(可复制)10-10 1 2 3 4 -5 -23 3 7 -21//output10 1 4注意点本题使用动态规划。如果4号测试点...原创 2020-04-17 22:33:35 · 234 阅读 · 0 评论 -
PAT.A1087 All Roads Lead to Rome
返回目录题意有N个城市,M条无向边。现在需要从某个给定的起始城市出发(除了起始城市外,其他每个城市都有一个“幸福值”),前往名为“ROM”的城市。给出每条边所需要消耗的花费,求从起始城市出发,到达城市ROM所需要的最少花费,并输出最少花费的路径。如果这样样例(可复制)4 3 11 51 2 21 4 21 G1 41 G2 32 3 22 G2 13 4 23 G3 24...原创 2020-04-17 21:44:28 · 289 阅读 · 0 评论 -
PAT.A1072 Gas Station
返回目录题意有N所居民房、M个加油站待建点以及K条无向边。现在要从M个加油站待建点中选出一个来建造加油站,使得该如油站距离最近的居民房尽可能远,且必须保证所有房子与该加油站的距离都不超过给定的服务范围DS。现在给出N、M、K、DS,以及K条无向边的端点及边权,输出应当选择的加油站编号、与该加油站最近的居民房的距离、该加油站距离所有居民房的平均距离。如果有多个最近距离相同的解,那么选择平均距离最...原创 2020-04-17 18:16:01 · 248 阅读 · 0 评论 -
PAT.A1030 Travel Plan
返回目录题意有N个城市(编号为0~N-1)、M条道路(无向边),并给出M条道路的距离属性与花费属性。 现在给定起点S与终点D,求从起点到终点的最短路径、最短距离及花费。注意:如果有多条最短路径,则选择花费最小的那条。样例(可复制)4 5 0 30 1 1 201 3 2 300 3 4 100 2 2 202 3 1 20//output0 2 3 3 40注意点本...原创 2020-04-17 11:24:33 · 221 阅读 · 0 评论 -
PAT.A1018 Public Bike Management
返回目录题意城市里有一些公共自行车站, 每个车站的自行车最大容量为一个偶数Cmax,且如果一个车站中自行车的数量恰好为Cmax/2,那么称该车站处于“完美状态”。而如果一个车站容量是满的或是空的,那么控制中心(PBMC)就会携带或从路上收集一定数量的自行车前往该车站,以使问题车站及沿途所有车站都达到“完美状态”。现在给出Cmax、车站数目N (不含控制中心PBMC)、问题车站编号Sp、无向边...原创 2020-04-16 21:45:08 · 188 阅读 · 0 评论 -
PAT.A1003 Emergency
返回目录题意给出N个城市,M条无向边。每个城市中都有一定数目的救援小组,所有边的边权已知。现在给出起点和终点,求从起点到终点的最短路径条数及最短路径上的救援小组数目之和。如果有多条最短路径,则输出数目之和最大的。样例(可复制)5 6 0 21 2 1 5 30 1 10 2 20 3 11 2 12 4 13 4 1//output2 4注意点对dis进行初始...原创 2020-04-16 19:55:24 · 267 阅读 · 0 评论 -
PAT.A1076 Forwards on Weibo
返回目录题意在微博中,每个用户都可能被若干其他用户关注。而当该用户发布一条信息时, 他的关注者就可以看到这条信息并选择是否转发它,且转发的信息也可以被转发者的关注者再次转发,但同一用户最多只转发该信息一次(信息的最初发布者不能转发该信息)。现在给出N个用户的关注情况(即他们各自关注了哪些用户)以及一一个转发层数上限L,并给出最初发布消息的用户编号,求在转发层数上限内消息最多会被多少用户转发。...原创 2020-04-16 17:29:58 · 277 阅读 · 0 评论 -
Pat考前看一看的英语词汇
1.单词汇总Product of Polynomials 多项式乘积nonzero terms in the polynomial 多项式中的非零项exponents 指数coefficients 系数respectively 分别的product of A and B 乘积be accurate up to 1 decimal place. 精确到1位小数commas 逗号r...原创 2019-09-05 10:47:40 · 692 阅读 · 0 评论 -
PAT.A1034 Head of a Gang
返回目录题意给出若干人之间的通话长度(视为无向边),按照这些通话将他们分为若干个组。每个组的总边权设为该组内的所有通话的长度之和,而每个人的点权设为该人参与的通话长度之和。现在给定一个阈值K,且只要一个组的总边权超过K,并满足成员人数超过2,则将该组视为“犯罪团伙(Gang)”,而该组内点权最大的人视为头目。要求输出“犯罪团伙”的个数,并按头目姓名字典序从小到大的顺序输出每个“犯罪团伙”的头目...原创 2020-04-16 16:37:29 · 270 阅读 · 0 评论