当前位置: 首页 > 科技观察

周六PATA班复习总结

时间:2023-03-17 18:28:11 科技观察

先说结论:我还??没有进入“高手”行列;现在的学习节奏和方法是正确的,坚持下去是绝对必要的。题目很简单,但总的来说很遗憾:T1和T3考试真的没找到bug。目前T1的bug已经找到了,还是先重考吧。重温了浙江大学的计算机程序设计能力测试(PAT),据说浙江大学的CS平均分是70分[1],所以我也想试试。考完之后,我觉得70分是没有意义的:第一,这次的四道题都特别简单。第二,CS同学平日没有练习数据结构和算法题的习惯。算法,大部分题目是:《没有别的,可惜这次考了83分,但是题目太简单了,最后半个小时,我一直盯着屏幕:有没有问题啊在逻辑上?而且测试用例都通过了,怎么还有判断用例很难通过?昨晚睡觉前,我查了一下知乎,果然,大家都拿了A级的满分。。。恍然大悟T1是哪里出了问题经验一:认真看题,不要乱猜第一题说:计算机保存的是一个数组,物理上不需要申请一个连续的地址空格。比如一个int(32位)数组的长度是20,它的地址可能是://首地址的元素个数是1024100520485,问我首元素的地址是多少,很简单查询问题,怕超时,我也写了前缀和和二分法(其实知乎上说直接暴力破解e计数不会超时...)。这道题有两个坑,我考试的时候都踩过:最后被问到,开多少个内存空间?我想,比如说,如果一共查询了0和19两个数,那么1024就应该适当使用还有2048,返回2;所以写一个boolused[N];数数结果真有教养:你要开到19,你不开到0到19之间吗?所以你查询返回的最大内存块的个数就够了。如果所有的查询都越界了,就得返回1个地址空间,而不是0。看不到标题了,据说标题里居然写着:至少开一个地址空间!从那以后,我就误解了这些问题;而且一直以为是自己的逻辑问题,所以没有再看题。PATLevelA的题目都是英文的,真的是考验英文阅读能力。经验二:继续研究题,信心满满地玩。其实连T1上的错题也是我自己不自信惹的祸:逻辑是对的,但我不得不想“一定是我在什么地方写的”。如果我能坚持:“好吧,逻辑有问题,我再看一遍题”,那将是完全不同的结果。Y总是有这种信心。他讲过的每一题都会先说明思路,然后自己敲出来,最后现场调试。自信源于坚强。如果我能足够坚强:“这个思路,这个实现,不会有问题的!如果我错了,那一定是我没有正确理解题目!”这次考试自然不会有遗憾。我也没有得到T3的满分。怀疑是dfs没写好,周日早上checkout也一样。直到对比之后才发现dfs有逻辑漏洞。那时的题和代码已经看不到了,不用担心,多做递归题就可以了。经验三:复习没用,继续开你面前的3题,做的不好,直接跳到T4。我当时很恐慌,看到T4更恐慌:卧槽,真希望考前复习能出点成绩。没有再去想它,只是简单的翻了一下八月份的二序列遍历树构建的代码。这也是事实。但是记住一个核心原则:通过中序遍历序列,可以找到中心点,然后递归。8月17日,这部分的笔记硬着头皮,居然写出来了,满分10分30分。递归真是厉害。我觉得算法可能有点麻烦,但是写的时候发现递归帮我们自动实现了很多逻辑。所以,现在比较合适:多花复习时间刷题,认真做笔记,好好总结,力争学一遍就学透,少模板化,多理解核心思想,存起来再回头后面总结强烈推荐ytotalPAT课给大家,虽然我也算是比较差的学生(感觉很多人考满分):AcWing.comPATClassA辅导课【2】我买了8月9号和9月6号刷完号之后就没怎么碰过。收获不小,算法的细节我们以后再说。在算法部分,以上三点经验可以用一句话来概括:现在的学习节奏和方法是正确的,坚持下去是绝对必要的!现在的学习节奏和方法是正确的,一定要坚持下去!现在的学习节奏和方法是对的,坚持下去是绝对必要的!接下来,我要甩掉y的算法提升课程和算法竞赛进阶指南。这两门课程内容太多了,先选一个再突破重点吧!参考资料[1]浙江大学PAT考试成绩对考研有帮助吗?-陈越奶奶的回答-知乎:https://www.zhihu.com/question/37289617/answer/71302179[2]AcWingPATA类教程:https://www.acwing.com/activity/content/27/