PAT-2019年春季考试-甲级-满分经验分享

首先报考之前:1)建议把练习题刷一下,最好全部刷完(也可刷最近的几场的,PAT考试还是很有规律的,比如三十分的大题的规律:离散事件模拟->图->树),题目分布最近基本是:20分题(数值计算,质数,字符串等),25分题(集合、查询、排序、最值等),25分题(图、dfs、最短路径等),30分题(树、建树、遍历树、bfs、dfs等)。2)因为甲级是英语,虽然很简单,但有时会出现个吧关键的生单词,所以平时需要多积累一点单词量,因为个吧单词不懂而失分很痛心的。3)熟悉一下STL,会少写很多代码。

临近考试:把基本的算法(质数、最大公约数、中后(中先)序建树、dijkstra算法、dfs、层次遍历、集合等)默写一遍,便于考场上能快速写出。置于KMP算法、马拉车算法、LCS算法、0-1背包这些很少考,但也不一定,了解一下还是很好。

考试中:1)不要慌,认真读题,特别是当你只有个别测试点未通过时(不是超时等,而是答案错误),重新读一下题,很大可能是你有些边界没有注意到。2)题读完,读懂了且题是固定题型,马上编写代码。否则可以先将测试用例模拟一遍,加深理解。注意按照计算机的的逻辑来,重复(循环)、标记(数组),即蛮力算法,当没有特定的算法时最应该首先想到的。这时也应该想到剪枝(即提前终止循环,不然容易超时)。3)可能你用的ide环境与你平时的环境不大一样(比如我用的codeblock,不能用unordered_map,C++用scanf需要加#include等等),所以可以提前多熟悉几款IDE,靠前问一下老师可不可以测试一下编译环境。考试的时候遇到了,注释掉你认为是版本原因造成的error,按照你平时的经验来,当没有编译错误时直接提交。这时候问老师也很麻烦,浪费时间。4)有个别测试点答案错误时或者看不懂时,可以先看下一道题。一定不要慌,题的算法一定不要想太复杂,代码一定不要想弄简洁,能通过得分最重要。因为时间只有3小时。遇到不懂的单词,猜然后验证

下面是这次考试的四道题的解法:

第一题:Sexy Primes (20 分)。题读完,首先写了一个判断质数的函数,然后根据题意模拟,首先判断N->N-6->N+6->++N;

有一个测试点未通过,后来仔细检查用来是判断质数函数边界(i

第二题:Anniversary (25 分)。读完后,应该是求最值,年级最大及出生时间最小。输入来客判断是否为校友,然后更新最小出生时间的人(校友和不是校友两个)。查询用unordered_set。然后输出校友人数,再输出名字。

第三题:Telefraud Detection (25 分)。读完,应该是图,第一次理解错了,以为两个人通话时间不叠加。然后重新写代码,嫌疑人找对了,怎么输出?用二维数组?set?map?想一会都挺麻烦,不如先排序,即第一个为最小。满足要求。dfs遍历求连通图,有一个测试点未通过,后面再看是没注意不超过20%回电话

第四题:Structure of a Binary Tree (30 分)。读完,先建树,用unordered_map方便,不用指针。问题来了,如何理解判断语句?语句长度?关键字符?后面用的是关键字,一个字符一个字符的读入,如何判断关键字,到达理解题意的目的。并修改A、B的值,然后根据树判断是否正确。一个单词sibling没读懂,然后根据其他判断条件,最后猜应该是问AB的父亲是否相同。

你可能感兴趣的:(PAT甲级练习集)