PAT考试经验总结(甲乙级均适用)~~想满分的请看这里!~~
大家好,又见面了,我是你们的朋友全栈君。
emmmmmmm 总算是考了个满分,不用以后再交PAT考场一日游入场费了T ^ T 第一次在去年秋天,被第一题狼人杀给干掉了〒▽〒,最后得了81分,第二次就是今年春季,侥幸满分通过了= = 为了总结自己踩过的坑,给后面要考的同学们提供一些微薄的帮助,遂作此文。
考场经验 一.
注意,考试的运行时的黑框,是不能使用Crtl+V进行粘贴的,但这不代表考试不能进行复制粘贴,PAT考试系统里的代码需要用Ctrl+C进行复制(右键不行),黑框的粘贴功能,是在黑框上方边界右键,然后选择编辑里面的粘贴进行,具体如下图~
在这个上面右键 就会出现下面的情况(没法截图,只能拍照了= =)
然后就可以愉快的粘贴啦~ 当然还有另一种操作可以一劳永逸 依旧在菜单栏右键,单击属性
然后把 快速编辑模式 这一项前边的勾给打上,
然后,在黑框里面,选中一块文字右键就是复制,不选中文字右键就是粘贴,而且持续有效(即每次打开运行黑框都可以使用~)
二.
注意编译器问题,如果有VS,尽量不要用DEV C++,这是我第一次考试时遇到的坑,就是DEV C++在考试的时候竟然不能Debug,太坑了,第二次用的VS2013就可以,至于code block,我没怎么用过,暂时不清楚= =
三.
如果担心环境问题,去官网上面找每个考点的联系人以及联系方式,问清楚到底提供哪些编译器,因为我今年去的考点,明明PAT上面考点信息说有VS2005和VS2008,然而去了只有VS2013,就很尴尬,不同的环境确实会出现一些以前没有过的问题,比如VS2013就不能用scanf而要用scanf_s代替而vs2008上就不会出现,所以,如果想核实环境的,最好问一下联系人,他们也会很热心解答的~
四.
考试需要带的东西,草稿纸会发,但是笔要自己带(不会发笔的- -),身份证,准考证,还有人,其他的就米啥要带的啦
五.
注意考试不要打开浏览器,如果不小心误碰,立刻关掉,如果打开浏览器超过10秒,系统会立即将你驱逐的!(也就是考试提前结束了……),然而PAT每场考试都喜欢搞一题左右的来自维基百科的链接陷阱,千万别好奇瞎点进去!
六.
考试的代码,是可以存储的,(一般存储在E盘,或者老师指定的代码存储盘,以防止系统崩溃无法还原),考试结束当然也可以用U盘拷走,当然你也可以不拷,因为每次考试结束,每个考生都可以在PTA系统里绑定考号,直接查看到自己提交的代码以及排名,具体操作如下: 参加本场考试的考生,请先在“拼题A”系统注册个人账号,登录后点击用户名进入“个人中心”,将个人账号与考试账号进行绑定,方法如下:
1. 在“绑定学号”栏目下选择“学校”为“PAT联盟”; 2. 在姓名栏填入自己的姓名; 3. 在学号栏填入自己的准考证号; 4. 在验证码一栏根据自己的考试级别填入下列数字: 顶级:xxxxxx 甲级:xxxxxx 乙级:xxxxxx 5. 点击“绑定”。再进入系统应可看到本场考试的试题,并找到自己的提交代码。 流程搬运自陈越姥姥的微博,这里的XXXXXX每场考试都不一样,注意留心姥姥的微博,每次考试结束都会发的。 点击PTA系统左侧的题目集,在我的题集里面,就会有一个PAT 201X年X季考试 字样的一个题目集,点进去就能看到自己提交的代码啦~
七.
其实,AC和代码完全正确,是两个概念,如果你能确定你未通过的点的具体输入与输出,就可以进行特判,这样也能AC,只不过有点倒巧,但是,谁又说倒巧不也是一种能力呢?这只是一个例子,真正做题时还是要老老实实的做,情况紧急而且自己恰好又知道怎么倒巧的时候,再使用这种方法,技巧还有很多,比如利用while(条件)结合二分法进行测数据的等等,这个我就不多说啦,感兴趣的请自行百度~(评论区有人要这个技巧,我知道的也不多,自己整理了一下原来浙大群里的晴神讲解的机试技巧,在我的资源里,感兴趣的可以自行下载,积分是系统自己设定的我没法更改= =)
八.
考试其实入场之后,就可以开始了,这个不是统一时间开始的,而是看你点开始考试,然后系统进行倒计时的,倒计时结束,就不能再提交了,所以我推测,大概考试是一个时间段,大约1点到4点半,在考试时间内开始都可以,不过估计4点半应该会强制结束,除非考场有特殊情况发生,打印成绩大约是在5点之后,不出意外的话。 每一题都提交完成后,可以选择提前结束考试,然后就可看到分数以及排名,当然,也可以选择放在那里不动,等时间结束即可,一定要确定自己每一题都提交成功了,不确定的话,就多提交几次,虽然可能会影响排名或者面试?,但是比自己做对了没有分要舒服。
九.
考试时的状态十分重要,我觉得其实应试都是这样,不一定能发挥自己的真实实力,但是这个机制我们无法改变,所以,只能尽可能让自己状态达到最佳,因为1:30开始,所以,尽量在之前休息一下大脑,调整到最佳的状态,才能更好的应对考试。
十.
做题目的方法应该是:先认真仔细的读题,理解题目每一句话的意思,将所有的关键信息转换为自己可以理解的符号记在草稿纸上(以防止遗忘导致反复读题,英文毕竟不如中文来得快),题目里的每一句话都有其存在的意义,特别要注意加黑字体,以及有的题目还会在输出样例后写一些话,必须仔细研读,然后想清楚怎么做,再开始编程,这样才能事半功倍,比想了一半就去实现最后发现思路错了要好的多。今年的题目就充分的体现了这一思想,一定要认真审题!
十一.
关于一些模板性的算法要不要去记忆的问题,当然是需要记忆的,毕竟考试时间有限,你还在推导基础算法结构,别人都直接AC做下一题了,万一题目再难一些,做不做得完都不知道= = ,所以,像DFS,BFS,Dijkstra算法, 树的各种遍历以及建树方法,AVL树,并查集等等等……(就不一一列举了),这些都是需要记忆的,也不用一次就记住,遇到没记清的算法,自己先想着写,能写多少写多少,实在写不出来再看书,这样加深记忆,多次重复,就记住了~
十二.
PAT的赛制和ACM类似,没有罚时,而且实时反馈提交代码的运行结果,考试用的OJ和PAT官网里的刷题OJ很相似,直接在官网OJ进行练习就可以了~传送门 PAT官方网站 (这里可以进行,考试报名,考点查询,以及真题练习)
学习经验
这里只做个人见解,请选择性接受,因为每一场考试都不一样,不具有复制性。
一.
尽量用C++,C就不要用了(没有STL会很痛苦),python也不要用了(超时一时爽,一直超时一直爽= =),java不清楚= =,反正C++不容易超时,而且每个考点都支持,推荐使用~
二.
指导书,还是推荐晴神的算法笔记呐~具体名字《算法笔记》(作者:胡凡 曾磊),讲解很详细,虽然有的题目代码有些问题会导致某个测试点无法通过(可能是因为PAT判题数据更新的问题),但是不影响学习~ 至于代码方面晴神有配套的《算法笔记 上机训练实战指南》,但是到A1107之后的就没有了,我的博客有,传送门—— PAT甲级题目索引(题目+解析+AC代码) , PAT乙级题目索引(题目+解析+AC代码) ,另外,柳神的博客也非常好,讲的十分详细,可以借鉴一下大神的解题思维~ 这里仅仅是推荐,没有任何打广告的成分,只是我自己看的是这两个而已,当然每一题在网上搜索都有一堆题解,看个人喜好啦。
三.
请不要刷codeup里面的题目!!!,因为里面的题目是对应章节选择的(有的很难,有的很简单,不适合训练),但是,考试用不到= =,(实在想刷,我等等贴出来我的codeup所有的代码及解析,代码及解析已经整理完成,传送门~~~
codeup《算法笔记》题目索引(题目+解析+代码)
)对,作为一个把所有算法笔记上推荐的codeup练习题刷完的人,我很负责任的告诉你,有些题真的很坑= =、、、直接刷PAT里面的题目就行了,还有算法笔记上也不是每一章每一节都要看都要弄懂,这里给出不需要看的章节,(再次强调,请选择性接受,我只能说PAT甲乙级目前为止没有考到以后也大概率不会考到,真的考到了请不要找我0.0):
4.7-4.7.3 随机选择算法。(后台数据不太可能随机,而且也没考到过)
5.7 扩展欧几里得算法。(千万不要看,看完以后你会怀疑人生的,而且也不会考)
5.8 组合数。(没考过,但是可以看一看,不难)
9.8 哈弗曼树。(没考过)
10.4-10.4.2~10.4.3 Bellman-Ford算法和SPFA算法以及Floyd算法(都没考过= =,但是不代表以后不会考,出现负环就会考了)
10.5 最小生成树(没考过)
10.6 拓扑排序(没考过,考过一题拓扑排序
PAT 甲级 1146 Topological Order
,但是不需要用这里面讲的复杂方法实现,而只是一个简单的模拟)
10.7 关键路径(鄙人觉得很难考到,大概是有生之年系列了)
11.6 DAG最长路(拓扑排序都没考,哪轮得着你??? ̄△ ̄)