周六PAT甲级考试复盘与总结

先说结论:仍未步入“高手”行列;现在的学习节奏与方法是对的,有十万分的必要坚持下去。

题目 知识点 分数
T1 前缀和、二分 11 / 20
T2 排序 25 / 25
T3 图论 17 / 25
T4 二叉树(根据中序遍历建树) 30 / 30
总分 // 83 / 100

题目很简单,总体来讲极其可惜: T1 和 T3 考试时实在没有找到 bug 出在哪里,目前 T1 的 bug 已经找到,我们先且复盘考试。

复盘

浙江大学计算机程序设计能力考试(Programming Ability Test,简称PAT),据说浙江大学 CS 平均分 70 分,于是我也想试试。

考完试我觉得这个 70 分没有什么意义:

  • 首先,本次这四道题目极其简单
  • 其次, CS 的学生也并非有平日练习数据结构算法题的习惯,算法这个东西,大部分题目:「无他,唯手熟尔」

这次考 83 分十分可惜,可惜在题目太简单了,最后半小时,我就在死死盯着屏幕:逻辑上没问题啊?而且测试用例都通过了,怎么就有判分用例过不去呢?

昨天晚上睡前刷了刷知乎,果然大家都是甲级满分...恍然大悟 T1 在哪出了问题。

经验1:认真读题,不可臆测

第一题说:计算机保存一个数组,未必要在物理空间里申请一段连续的地址。

比如一个 int (32 bit) 数组长度为 20 ,其地址可能是:

// 首地址 元素个数
1024 10
0 5
2048 5

给我询问,问我第几个元素的地址是多少。

很简单的查询问题,怕超时,我还写了前缀和和二分(实际上知乎上说直接暴力枚举找都不会超时...)。

这题有两个坑点,我考试时全踩了:

  • 最后问我,开了多少个内存空间?

    • 我以为,比如一共查询了两个数 019 ,那就妥妥地用到 1024 这块还有 2048 这块返回 2 呗;于是写个 bool used[N]; 计数
    • 结果着实被教育了一把:你要开到 19019 之间的不开吗?因此你返回查询过的最大内存块编号就行了
  • 如果查询全部越界,你也得返回 1 个地址空间而不是 0
    • 我已经看不到题目了,但是据说题目中其实写了:至少开一块地址空间

这就很服气,原来一直以来,都是题目理解错了;而我一直以为是自己的逻辑问题,没有再读题。

PAT 甲级题目都是英文的,确实很考英文阅读理解。

经验2:继续刷题,打出自信

其实 T1 都错题也有自己不自信的锅:

  • 逻辑是对的,但我非得认为“一定是自己哪里写的有疏漏”
  • 如果我能咬定:“好,逻辑没问题了,我去再读一遍题目”,那将会是截然不同的结果

y 总就有这个自信,他讲过的每道题都会先说思路,然后亲手敲一遍,最后现场 debug 。自信来自于实力强大,如果我能强大到:『这个思路,这个实现,就没问题!如果出错了,一定是题目没理解对!』自然也不会有本次考试的可惜。

T3 我也没做成满分,我怀疑是 dfs 写得不好,周日上午打力扣也是,比完才意识到 dfs 有逻辑漏洞。我现在已经无法再看到当时的题目和代码了,也没必要纠结,再多做递归题目就是了。

经验3:复习没用,继续开眼

前 3 道题做的不好,于是跳到 T4 。

当时很慌,看到 T4 更慌了:靠,我要是考前复习下建树多好。

我除了 8 月份简单捋过两个序列遍历建树的代码就没再想过了。也确实没空。

但是记住了一条核心原则:有了中序遍历序列,则可以找到中心点,然后递归下去。

于是硬着头皮,竟然写出来了, 30 分满分。递归真的很神奇,觉得算法可能有点麻烦,但是写的时候才发现递归帮我们把好多逻辑自动实现了。

因此现在更应该:

  • 把复习的时间更多地花在刷新题上
  • 好好记笔记,好好总结,争取学一遍就有学懂学透,少被模板,多理解核心思路,省着以后再回来看

总结

强烈给大家推荐 y 总的 PAT 课,虽然我算是他比较差的学生了(感觉很多人考了满分):AcWing.com PAT甲级辅导课

我 8 月 9 号买的, 9 月 6 号刷完,之后就没怎么碰过了。收获不小,关于算法细节的咱们以后慢慢唠。

算法这部分,上述三个经验总结起来,就一句话:现在的学习节奏与方法是对的,有十万分的必要坚持下去! 现在的学习节奏与方法是对的,有十万分的必要坚持下去! 现在的学习节奏与方法是对的,有十万分的必要坚持下去!

接下来准备干掉 y 总的算法提高课和算法竞赛进阶指南,这两节课内容太多了,先挑重点攻破吧!

2021.9.12周六PAT甲级考试复盘与总结的更多相关文章

  1. pat甲级考试+pat1051+1056

    同上一篇博客: 贪心题目我已经刷了将近30道了,由于那几天考驾照就没写,以后有空的时候补过来吧,都在codeblock里 pat的题也刷了点,acwing 的题也刷了点,基本都攒下了.以后也会慢慢补过 ...

  2. 2019年春PAT甲级考试

    这次考试不是很理想,一道题目没能做完. 自己原因差不多三条: 1.自己实力不够,准备时间也有点仓促,自己没能做到每道题目都有清晰的思路. 2.考试的心理素质不行,因为设备原因东奔西跑浪费了挺多时间,自 ...

  3. PAT甲级满分有感

    时间轴: 2017年,数据结构加入了我的课程清单. 2018年12月,我从网易云课堂下载了数据结构的所有课程视频(学校里没有网,只能离线看),开始一刷.一刷只看了视频,基本没有做题,看到AVL树的时候 ...

  4. 2019秋季PAT甲级_备考总结

    2019 秋季 PAT 甲级 备考总结 在 2019/9/8 的 PAT 甲级考试中拿到了满分,考试题目的C++题解记录在这里,此处对备考过程和考试情况做一个总结.如果我的方法能帮助到碰巧点进来的有缘 ...

  5. PAT甲级满分攻略|记一次考试经历

    一次考试经历 今天是"大雪",很冷. 来到隔壁的学校考试,记得上一次来河中医是两年前大一刚开学吧,那天晚上印象比较深刻,6个室友骑车到处闲逛.当时还不会Hello world. 很 ...

  6. PAT甲级考前整理(2019年3月备考)之一

       转载请注明出处:https://www.cnblogs.com/jlyg/p/7525244.html 终于在考前,刷完PAT甲级131道题目,不容易!!!每天沉迷在刷题之中而不能超脱,也是一种 ...

  7. PAT甲级题分类汇编——计算

    本文为PAT甲级分类汇编系列文章. 计算类,指以数学运算为主或为背景的题. 题号 标题 分数 大意 1058 A+B in Hogwarts 20 特殊进制加法 1059 Prime Factors ...

  8. PAT甲级1127. ZigZagging on a Tree

    PAT甲级1127. ZigZagging on a Tree 题意: 假设二叉树中的所有键都是不同的正整数.一个唯一的二叉树可以通过给定的一对后序和顺序遍历序列来确定.这是一个简单的标准程序,可以按 ...

  9. PAT甲级1103. Integer Factorization

    PAT甲级1103. Integer Factorization 题意: 正整数N的K-P分解是将N写入K个正整数的P次幂的和.你应该写一个程序来找到任何正整数N,K和P的N的K-P分解. 输入规格: ...

随机推荐

  1. Linux的磁盘管理和进程管理(入门)

    查看磁盘使用情况 df :列出文件系统整体的磁盘使用量 增加-h参数可以使得显示的容量更人性化 du:检查磁盘空间使用量---需要进入文件中查看 挂载本地磁盘或文件 mount mount /dev/ ...

  2. Linux 基础指令初识

    Linux 基础指令初识 01. ls 指令 语法: ls [选项] [目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件.对于文件,将列出文件名以及其他信息 -a 列出目录下的所有文 ...

  3. noip模拟31[time·game·cover]

    noip模拟31 solutions 我就觉得这些考试题是越考越难,我是也越考越完蛋,已经完完全全的接近爆零了 只有20pts,说真的这还是我第一次挂掉30pts,本来我还有50pts嘞 所以这次考试 ...

  4. GooseFS助力大数据业务数倍提升计算能力

    前言 GooseFS是由腾讯云推出的一款分布式缓存方案,主要针对包括需要缓存加速的数据湖业务场景,提供基于对象存储COS服务的近计算端数据加速层. GooseFS 基于开源大数据缓存方案 Alluxi ...

  5. js遍历终极大法--再也不用苦逼的for循环了

    while循环 while后面跟循环条件和执行语句,只要满足条件,就会一直执行里面的执行 var i = 0 while(i<10){ console.log(i) i++ } do...whi ...

  6. 使用各类BeanUtils的时候,切记注意这个坑!

    在日常开发中,我们经常需要给对象进行赋值,通常会调用其set/get方法,有些时候,如果我们要转换的两个对象之间属性大致相同,会考虑使用属性拷贝工具进行. 如我们经常在代码中会对一个数据结构封装成DO ...

  7. 【工作篇】了解升级 Spring 版本导致的跨域问题

    一.背景 最近需要统一升级 Spring 的版本,避免 common 包和各个项目间的 Spring 版本冲突问题.这次升级主要是从 Spring 4.1.9.RELEASE 升级到 Spring 4 ...

  8. SQL 练习14

    查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩 SELECT Student.SId,Student.Sname,t.不及格课程数,t.平均成绩 from Student, (SELECT ...

  9. NOIP 模拟 $30\; \rm 毛二琛$

    题解 \(by\;zj\varphi\) 原题问的就是对于一个序列,其中有的数之间有大小关系限制,问有多少种方案. 设 \(dp_{i,j}\) 表示在前 \(i\) 个数中,第 \(i\) 个的排名 ...

  10. mybatis学习日志之总结

    一.介绍mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...