PAT
文章平均质量分 66
PAT甲级考题
山顶夕景
实践出真知
展开
-
机试编程总结
1.申请数组如果数组大小较大(大概10^6)则需要定义在main函数外,否则会使程序异常退出(因为函数内部申请的局部变量来自系统栈,即允许申请的空间较小;而函数外部申请的全局变量来自【静态存储区】,即允许申请的空间较大)。2.scanf的%c和%sscanf的%c格式时可以读入空格和换行\n的;%d的输入则是以空白符(即空格、换行等)作为结束判断标志。字符数组使用%s格式读入时的结束标志:空格、换行符。#include <stdio.h>int main(){ int a;原创 2021-01-10 15:54:11 · 1130 阅读 · 0 评论 -
phoenix大佬的二轮刷题记录
本文转自超强zju大佬phoenix博客,mark以激励自己!向大佬学习!第二轮刷题比原计划迟了快要一周,此轮刷题伴随着初试成绩公布与过年,效率简直不忍直视==22号回到学校又把最近几套真题刷了一遍,在之前刷过的基础上速度快了很多,准确率也提高很多。此轮刷题树、图等常用模版基本上已经熟练掌握,stl的使用也更加娴熟,个别复杂的模版如(AVL树、二分查找相同元素的最左、右的那个元素、堆排)等还需继续强化。。接下来每天继续保证一定量的刷题量保持手感、继续学习深度学习、准备面试内...原创 2021-01-02 11:46:21 · 721 阅读 · 0 评论 -
C++刷题常用STL容器总结
1.vector动态数组,方便动态扩容,方便的变量初始化(int类型默认初始化为0,bool默认初始化为false),可以用来实现邻接表(结点数太多的图)。头文件#include<vector>using namespace std;定义//typename可以是基本数据类型/其它标准STL容器/自定义结构体vector<typename>name;vec...原创 2020-01-22 12:47:43 · 1689 阅读 · 2 评论 -
PAT甲级目录&刷题记录
编号 标题 题解 分类 备注 1001 A+B Format C++ 字符串处理 1002 A+B for Polynomials C++ 中级模拟+散列 多项式求和问题 1003 Emergency C++ 图 最短路径问题 1004 Counting Leaves C...原创 2020-02-22 01:09:25 · 1750 阅读 · 0 评论 -
【1094】The Largest Generation (树DFS-水题)
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805372601090048输入树的结点个数N(结点编号为1~N),非叶子结点个数M,然后输入M个非叶子结点各自的孩子结点编号,求结点个数最多的一层(层号是从整体来看的,根结点层号为1),输出该层的结点个数和层号(从根结点的第一层开始往下计算)。2.思路基础题。这类题也是直接DFS,由于不是像上次的【1079】&【1090】供应树DFS一样是到了叶子结点就进原创 2021-01-17 23:40:38 · 710 阅读 · 1 评论 -
【1091】三维&二维BFS&复习
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805375457411072给出一个2.思路由于是三维矩阵,需要3.代码#include<iostream>#include<stdio.h>#include<stdlib.h>#include<queue> using namespace std; //利用BFS遍历,找到卒中核心块struct no原创 2021-01-15 21:38:27 · 805 阅读 · 3 评论 -
【1032】Sharing&链表题模板总结
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805460652113920静态链表,找出两条链表的首个公共结点。2.思路基础题。最巧妙点在于设一个int型变量flag,然后2次遍历——第一次遍历第一条链表(全部结点的flag改从false改为true),第二次遍历第二条链表,如果当前结点的flag是true则马上break跳出for循环(千万别忘了break!!),当然也可以直接return就好了。注意点:(原创 2021-01-13 16:33:39 · 721 阅读 · 0 评论 -
【1051】Pop Sequence (stack)
1.题目给出容量max=M的栈,分别把1、2、…、n依次入栈,并给出一些列出栈顺序,判读判断出栈顺序是否合法。2.思路出栈是否合法要满足:(1)能出栈(2)不超过栈的限制容量。思路:模拟,将1~n依次入栈,在入栈中——如果入栈的元素恰好等于出栈序列当前等待出栈的元素,就让栈顶元素出栈,同时把出栈序列当前等待出栈的元素位置标记后移1位。此时只要栈顶元素仍然等于出栈序列当前等待出栈的元素,则持续出栈。(1)初始化栈,读入需要测试的出栈序列。——以bool型变量flag表示出栈序列是否合法,若flag原创 2021-01-13 09:49:27 · 727 阅读 · 0 评论 -
【1022】Digital Library(map)
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805480801550336给出N本书的编号、书名、作者关键词、出版社及出版年份,然后根据某个除编号外的信息来查询所有满足该信息的书的编号,并要求按编号从小到大顺序输出。2.思路map<string,set<int>>分别建立书名、作者、关键词、出版社及出版年份与编号的map映射。关键词的提取:每本书都可能有多个关键词,需要将这些关键词分离开原创 2021-01-12 09:09:55 · 673 阅读 · 0 评论 -
【1047】Student List for Course(vector)
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805433955368960给出选课人数和课程数,再分别给出每个人的选课情况,要输出每门课的选课人数和选了该课的所有学生的姓名。2.思路和之前的A1039做法一样(只不过是输入和输出倒过来了)。(1)用二维数组char[N][5]存放输入的姓名,其中char[i]表示第i个姓名。以vector数组course[i]存放所有选第i门课的学生编号。(2)在读入数据时原创 2021-01-11 23:32:44 · 680 阅读 · 0 评论 -
【1039】Course List for Student(vector)
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805447855292416给出N个学生,K门课。给出每门课号,报名人数N,给出N个学生的名字,最终要输出每个学生的名字及其选课数,和选得所有课程编号。2.思路读取数据将课程编号加入所有选择该课的学生中,最后依次输出每个学生的选课情况。(1)学生通过姓名的方式给出;——如果用STL的map实现姓名与学生编号的映射,最后一组数据过大,导致用map和string会原创 2021-01-11 15:56:50 · 739 阅读 · 0 评论 -
【1078】Hashing&素数
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805389634158592给出散列表长TSize和欲插入的元素,将这些元素按读入的顺序插入散列表中,其中散列函数为H(key)=key%TSize,解决冲突采用只往正向增加的二次方探查法。如果TSize不是素数,则将TSize重新赋值为第一个比TSize大的素数再进行元素插入。2.思路散列函数H(key)=key%TSize,解决冲突使用二次方探查法。如果步长st原创 2021-01-10 21:49:16 · 656 阅读 · 0 评论 -
机试编程总结
1.while(~scanf("%d%d",&m,&n))等价于while( scanf("%d%d",&m,&n)!=EOF )ACM中比较常见,其功能是循环从输入流读取m和n,直到遇到EOF为止2.int类型的max=2^31-1,即0x7fffffff(1个7,7个f),也可写成(1<<31)-1#include<limits.h...原创 2020-01-02 10:21:36 · 1006 阅读 · 0 评论 -
phoenix大佬的一轮刷题记录
本文转自超强zju大佬phoenix博客,mark以激励自己!向大佬学习!2018年1月2日~2018年1月29日前排感谢晴神大大,以及众多大佬的帮助,让我这个编程小白走上了coding的不归之路。。本来有望早一天登顶,还是由于自己的小惰性迟到了一天,也算提前完成自己一月份的计划。最后一天解决了之前遗留4道题的小bug,虽然效率及其低下,还是最终完成了,不然强迫症会犯的~~由于之前在准备考研,并没系统的刷过题,零零星星刷的题目不超过十道,自己的编程能力约等于零,虽然一直想从事计算机相关工作,但自己之原创 2021-01-02 11:05:38 · 843 阅读 · 0 评论 -
PAT甲级生词
threshold下限,开端,起征点M by N matrixM行N列矩阵decimal system 十进制1 decimal place保留小数点后一位radix 基数,进制,根fewest intersections最少的结点factorization因式分解row 排column 列exponent 幂次raffle抽奖for...原创 2020-01-28 22:47:21 · 559 阅读 · 0 评论 -
2020线上PAT经验贴合集
1.某93分大佬的https://blog.csdn.net/vuscity/article/details/107381788?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159722933619724839231492%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=15972293361972483923原创 2020-08-12 19:08:37 · 1434 阅读 · 0 评论 -
【1112】Stucked Keyboard (20分)【散列】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-21 14:33:45 · 581 阅读 · 0 评论 -
【1111】Online Map (30分)【dijstra+dfs】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-21 11:26:57 · 493 阅读 · 0 评论 -
【1110】Complete Binary Tree (25分)【完全二叉树】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-20 15:05:24 · 531 阅读 · 0 评论 -
【1141】PAT Ranking of Institutions (25分)【排序 map】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-20 11:07:50 · 451 阅读 · 0 评论 -
【1105】Spiral Matrix (25分)【螺旋矩阵】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-19 22:22:38 · 471 阅读 · 0 评论 -
【1117】Eddington Number (25分)【模拟】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-19 17:24:56 · 491 阅读 · 0 评论 -
【1151】LCA in a Binary Tree (30分)【倍增法解决LCA】
倍增法的介绍可以先看下https://blog.csdn.net/lw277232240/article/details/72870644详细介绍倍增法https://zhyack.github.io/posts/2015_12_22_LCA-Binary-Lifting-Note.html这个博客分块介绍得也不错#include<iostream>#include&...原创 2020-01-19 16:13:58 · 558 阅读 · 0 评论 -
【1150】Travelling Salesman Problem (25分)【图论】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-18 23:05:53 · 388 阅读 · 0 评论 -
【1137】Final Grading (25分)【map 排序】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-18 17:18:30 · 429 阅读 · 0 评论 -
【1119】Pre- and Post-order Traversals (30分)
法1#include <stdio.h>#include <string.h>const int maxn = 10000+5;bool isUnique;int pre[maxn], post[maxn];int left[maxn], right[maxn];int ans[maxn], nodes;//return root int reBui...原创 2020-01-18 15:15:29 · 500 阅读 · 0 评论 -
【1129】recommendation (25分)【set 运算符重载】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-17 18:54:03 · 533 阅读 · 0 评论 -
【1126】Eulerian Path (25分)【连通图】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-17 15:55:51 · 463 阅读 · 0 评论 -
【1133】Splitting A Linked List (25分)【链表】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-13 17:50:31 · 466 阅读 · 0 评论 -
【1127】ZigZagging on a Tree (30分)【中后序建树 层次】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-13 14:33:53 · 717 阅读 · 0 评论 -
【1130】Infix expression【dfs】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-12 16:08:28 · 431 阅读 · 0 评论 -
【1116】Come on! Let's C (20分)【简单逻辑 set】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-11 23:46:03 · 402 阅读 · 0 评论 -
【1114】Family Property (25分)【并查集】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-11 22:38:50 · 403 阅读 · 0 评论 -
【1146】Topological Order (25分)【拓扑排序】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-11 15:36:09 · 450 阅读 · 0 评论 -
【1124】Raffle for Weibo Followers (20分)【map】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-10 21:24:32 · 397 阅读 · 0 评论 -
【1122】Hamiltonian Cycle (25分)【图论】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-10 20:18:57 · 477 阅读 · 0 评论 -
【1121】Damn Single (25分)【set】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-10 17:03:49 · 381 阅读 · 0 评论 -
【1147】Heaps (30分)【堆】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-10 00:02:58 · 352 阅读 · 0 评论 -
【1145】Hashing - Average Search Time (25分)【hash 平方探测法】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-09 23:22:45 · 405 阅读 · 0 评论 -
【1142】Maximal Clique (25分)【有点问题】
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-09 21:36:19 · 449 阅读 · 0 评论