相关文章推荐
斯文的电影票  ·  Yar_Client::setOpt ...·  3 年前    · 
年轻有为的猴子  ·  java - Some doubts ...·  3 年前    · 
有胆有识的牛肉面  ·  Moshi with Kotlin ...·  3 年前    · 
⽉~⼀般安排在⽉初或⽉中的周六,具体⽐赛时间在 报名前才会公布~全国有很多考点,每个考点所拥有的开发环境和版本也不⼀样,可以在官⽹( https://www.patest.org/location )这⾥看到各考点的开发环境~⼀般情况下我们会选择最近的那个考点, 不过也不⼀定,⽐如离你最近的那个考点提供的 C/C++ 语⾔编译环境没有 Dev-C++ Visual Studio ,⽽你⼜⾮常喜欢 Dev-C++ 写代码,那也可以选有 Dev-C++ 的考点~⽐如在我第⼀次参加 PAT 的时候,南京当时还没有考点,我就去了提供 Dev-C++ 的浙江⼤学紫⾦港校区参加考试~还有⼀点就 是,报名要趁早,有的时候某个考场报满了就⽆法在该考场报名只能去其他考场报名啦(⽐如我⼀个 ⼩伙伴报名晚了,南京考场都报满了,只能报了苏州,做⾼铁去苏州参加 )报名费之前是 200元,现在是 元~(⽐蓝桥杯竞赛报名费便宜耶 考试的流程是:等到开放报名⼊⼝的时候在官⽹报名 ⾃⼰把⽹⻚上的准考证打印⼀下 考 试当天带着身份证、准考证和笔去考场 -> 在电脑上做题⽬(和平时刷题⼀样提交后就能看到这道题的得分)-> ⼩时考试时间到(考 分就可以提前交卷出考场啦) 考完等⼤概半⼩时,考点当场打印证书,拿着证书回家~ 道中⽂题⽬,分别是 分,官⽹题库链接: https://pintia.cn/probl em-sets/994805260223102976/problems 道英⽂题⽬,分别是 分,官⽹题库链接: https://pintia.cn/problem-set s/994805342720868352/problems 道英⽂题⽬,由于顶级题⽬偏难,⼀般 ⼤佬才参加顶级,加上我⾃⼰也没有参加过,所以就不多介绍啦~(相信参加顶级的⼀定对PAT ⽐较了解不需要我来介绍啦 题库中还推出了基础编程题⽬集,⽐⼄级还要更基础(简单)⼀些,如果觉得⼄级的难度还不够简单可以去体验⼀下题库~链接: https://pintia.cn/problem-sets/14/problems (⼀般情况下我觉得直接从⼄级or 甲级开始刷题就 刷题的话还是在官⽹ pintia )的题库刷⽐较好,我听说有些⼈是从⽜客⽹或者其他地⽅刷题的,然⽽很多时候虽然可能题⽬相似,但内部具体的测试样例还是有些不⼀样的,所以同样⼀段代码提交上去可能会产⽣不同的结果,⽐如我博客某篇题解代码,很多⼈来评论说在⽜客⽹上⽆法通过,但在官⽹能通过,说我的代码没有考虑周全,最后发现是⽜客⽹的内部测试样例没有按照题意来设计… 当然有的时候也会发现官⽹通过了⽜客⽹没通过时确实是⾃⼰的代码有疏漏,没有考虑到⼀些边界情况,正好官⽹的判题样例也没有考虑到… (这个时候我会把⾃⼰的代码完善⼀下)~官⽹的题库从上到下的顺序就是每⼀次PAT 考试产⽣的题⽬,在考试过程中也使⽤的是和官⽹ 题库中同样的判题系统,相⽐较⽽⾔更真实可靠~所以还是推荐⽤官⽹PTA https://pintia.cn/ )直接刷题吖~ 学习⽅⾯:刷算法题当然对提⾼算法有很⼤帮助呀~刷完⼄级,基本上就理解和掌握了基础的数据结构(数组、链表、字符串)~也会了⼀些⽐᫾基础的算法(⽐如排序、查找、递归),最重要的是,很多⼈刚⼊代码的坑,⾃⼰的思维⽆法准确的⽤代码来描述,想到的解决思路却⽆法⽤代码表达出来,⼄级刷完就完全可以解决这个问题啦~刷完甲级,⾸先已经能看懂英⽂的算法题⽬描述了~然后还能理解和熟练使⽤⼀些经典的算法,⽐如最短路径、并查集、树、图、深度优先搜索、⼴度优先搜索、贪⼼算法、拓扑排序、哈希等等~对⾃⼰的算法能⼒的提⾼是显著的~ 考研⽅⾯:⾸先说浙⼤计算机院,浙⼤计算机系的考研是分为初试和复试,复试⼜分为机试和⾯试,机试的题⽬就是类似于PAT 甲级考试的题⽬(每年机试过后的题⽬也会增加到甲级题库后⾯),⽽且机试可以申请免试,只要具有前⼀年的3 ⽉的任意⼀次 甲级的证书即可~要知道把所有的机会都压在机试那⼀次是⽐᫾冒险的,⼀般情况下⼤家都会在3 ⽉复试之前拿着前⼀年 考试中最⾼的那次成绩申请浙⼤计算机系考研的复试机试免考,这样就可以在复试中更加稳妥啦~不仅是甲级的成绩可以免机试,顶级的成绩也可以,顶级成绩乘以1.5 可以充当机试成绩(最⾼ 分),例如顶级考了67 分及以上,就可以和甲级 分⼀样~我认识的很多其他学校的考研 保研的学⽣也会参加PAT考试,为了得到⼀张满意成绩的证书,这样就能在考研 保研的⾯试过程中更加具有竞争⼒~ ⼯作⽅⾯:⾸先说 企业联盟, 和很多企业合作,这也是为什么 ⽉(春招) ⽉(秋招)12 ⽉(秋招补招 寒假实习)的原因~在 报名的时候填写⾃⼰的个⼈信息,如果是有求职意向的,可以对⾃⼰的个⼈简历写详细些,让企业知道你是打算找⼯作的并且更加了解你拥有的技能和想应聘的职业,这样在考完后会收到很多企业的邀请⾯试的邮件~也可以主动拿着PAT 的证书在有效期内(有的是⼀年,有的是两年,不同公司规定不同)去这些和PAT 联盟的企业,⼀般都可以免笔试并优先录取,⽐如Google 中国的要求是:甲级前 名、顶级前 年有效,可以免除笔试,直接进⼊Google 的⾯试阶段;微软的要求是:甲级 分以上,并且排名在当场考试前 名,同时符合微 软项⽬招聘的要求(毕业时间和专业等),可免技术笔试进⾯试 还有其他⼀些公司,例如⼩⽶、华为、⽹易、美团、雅⻁、阿⾥、淘宝、腾讯等… 的成绩以及能够给予的优惠有详细说明,具体企业联盟详情在官⽹的这⾥可以看到 https://www.patest.org/company 。⽐如我收到过百度、⽹易雷⽕的⾯试邀请邮件,还接到过⼀些企业的电话,但是由于当时我才⼤⼆⼤三没有打算找⼯作所以也就没有去参加⾯试… ⽽且我的个⼈简历⾥⾯也明确写了⽬前不打算找⼯作,所以打电话找我的企业不算多,不过身边有朋友通过PAT 进了⽹易,接到微软的⾯试邀请等~所以对于求职还是很有帮助的~⽽且身边很多考PAT 的都是⾮科班打算转计算机的,如果想要找计算机类的⼯作,考 通过企业联盟应聘确实是个可⾏的捷径~即使不是PAT 企业联盟中的企业,如果公司知道 (我刚知道 名⽓和影响⼒还很⼩,这些年逐渐扩⼤)对丰富简历or ⾯试应聘也是很有帮助的~ 的题库中题⽬已经⾜够的多,以上知识点在题库中都已经完全涉及,我们只需要刷完题库、熟练掌握题库中的那些题型就能掌握到PAT 需要考察的所有知识点~甚⾄能根据题库中不同类型题⽬出现的频率推断常考的题型是哪些、复习的重点应该放在哪⽅⾯等(关于常考题型和复习重点我在下⽂会提及)~

关于PAT刷题中编程语言选择和开发环境IDE选择的⼀些愚见

不规定编程语⾔,在刷题的时候也可以看到⽀持 种编译器,语⾔包括 Python JavaScript 等,但是根据考点提供的开发环 境可以看到,基本上只有⽀持 C/C++ Dev-C++ CodeBlocks Visual Studio VC++6.0 等,和⽀ 持 Eclipse NetBean MyEclipse 等,少部分考场会有⽀持 Python PyCharm …虽然之前 我在考场遇到过直接⽤记事本写 Python 代码的⼤佬(因为我当时的那个考场没有 Python 编译器), 也可以直接通过⽹⻚OJ 提交看报错信息,然⽽如果要调试查看变量的值的话还是⾮常的不⽅便 所以 那些不是主流的语⾔应该很少会有⼈使⽤它们刷PAT 吧(毕竟不像 LeetCode ⼤家都是在⽹⻚上直接在线写代码提交),刷PAT ⽤的最多的编程语⾔还是 C/C++ 如何选择呢? 语⾔作为⼀⻔⾯向过程语⾔,是很多计算机初学者必学的⼀⻔编程语⾔,绝⼤多数计算机系⼤⼀就会教C 语⾔,所以⼤多数⼈对 语⾔还是很熟悉的(不熟悉没学过也没有关系,书籍推荐部分我会讲到如何⾼效学习C 语⾔也确实是⼀⻔执⾏效率⾼的语⾔,然⽽最⼤的缺陷是,它缺少⼀些必要的、封装好的、可以直接使⽤的数据结构,⽐如我们知道数据结构⾥⾯除了数组链表还有栈、队列、集合、映射等,做题的时候会需要⽤到这些数据结构,如果仅仅使⽤C 语⾔,可能需要⼿动⽤数组或者链表实现它再使⽤,⽽⼀些⽐C 语⾔⾼级的语⾔(这⾥的⾼级是指⾼度封装、对程序员更加友好)已经封装实现好了⼀些常⽤的数据结构,需要⽤的时候直接拿来⽤就可以~⽐如排序,使⽤C 语⾔可能要⼿写⼀个是冒泡排序或者快排,⽽更⾼级的语⾔已经封装好了᫾为⾼效的排序算法,需要⽤的时候加个 #include <algorithm> 头⽂件然后直接⼀⾏ sort(begin(a), end(a)); 代码即可实现排序,这样能让我们在刷算法过程中把更多的精⼒集中在如何解决算法逻辑⽽⾮如何⽤语⾔实现⼀个常⽤的数据结构⽅⾯,⼤⼤提⾼做题的速度、降低代码的错误率~ 我知道⼤学计算机系或者想要做开发的必学 ,包括绝⼤多数⼈⾯向对象的⼊⻔语⾔也是 ,所以很多⼈就会想⽤ 刷算法,毕竟是将来⼯作和开发需要⽤到的语⾔~ 中确实有很多好⽤的集合框架封装好了各类常⽤数据结构,然⽽ 作为⼀⻔优秀的⼯程开发语⾔,在刷算法的时候却有些显得⼒不从⼼。我在刚刷算法的时候也是使⽤的 ⼄级的题⽬还好,勉强只有⼏题⽆法AC ,都是因为运⾏超时 ⽽刷甲级的时候就明显感觉出 在运⾏时间⽅⾯的劣势了,有些题⽬连 C/C++ 都需要优化算法才能保证不超时,更何况⽤ 对于同⼀道题⽬不同语⾔的时间限制要求是统⼀的,如果⽤ C/C++ 没有超时的题⽬⼀样的算法思路换了 描述就超时了 岂 不是很⼼塞… (虽然官⽅说可以修改 输⼊⽅式提⾼运⾏效率,然⽽我试过了,还是会有⼀些 30分的题⽬始终⽆法完全AC… )如果你不介意不能在 甲级中获得⼀个满意的成绩,只是希望通过 题库来锻炼⾃⼰的代码能⼒和编程语⾔运⽤能⼒,倒是可以考虑全程使⽤ (当然我感觉如果单纯想提⾼代码能⼒和算法⽔平,刷LeetCode 会更节约时间)~如果执意想⽤ 学算法,⽽且是0 基础,可以参考下⽂从 基础到蓝桥杯省赛⼀等奖的⾼效学习路径 书籍推荐部分中关于 组如何备考蓝桥杯的学习路径和参考书籍~

接下来说 C++ 。可能对于没有接触过 C++ 的⼈来说这是⼀⻔陌⽣的语⾔,毕竟很多⼈对它的第⼀印 象是:这是⼀⻔全新的和⾯向过程的C 语⾔完全不⼀样的⾯向对象编程语⾔,进⽽产⽣畏惧感,其实不然。下⾯是⼀段关于 C++ 的简介:

语⾔的继承,它既可以进⾏ 语⾔的过程化程序设计,⼜可以进⾏以抽象数据类型为特点的基于对象的程序设计,还可以进⾏以继承和多态为特点的⾯向对象的程序设计。C++ 擅⻓⾯向对象程序设计的同时,还可以进⾏基于过程的程序设计,因⽽C++ 就适应的问题规模⽽论,⼤⼩由之。 不仅拥有计算机⾼效运⾏的实⽤性特征,同时还致⼒于提⾼⼤规模程序的编程质量与程序设计 语⾔的问题描述能⼒。 语⾔语法的⾯向对象语⾔。其实对于刷算法来说,它是否是⾯向对象语⾔并不重要,它关于⾯向对象的部分(继承封装多态之类)我们也可以完全不学习,⽽且对于已经懂C 语⾔的⼈来说,想要⽤ 刷算法,⼏乎没有多少学习成本。也就是说,你完全可以在 的⽂件⾥⾯使⽤C 语⾔的语法,这不会产⽣报错。⽽那些好⽤的 特性⼜可以随意的使⽤,像是增强版功能的C 语⾔。对于刷算法来说, 最⼤的好处是拥有 (标准模版库),就像 的集合框架⼀样, ⾥⾯封装了很多常⽤的数据结构,⽽只需掌握 语⾔稍有区别的基本语法,就完全可以使⽤ LeetCode 和蓝桥杯,这对算法之路是⼤有裨益的~下⾯是⼀段 关于 ,如果我们只会 语⾔,可能需要⼀个个把数据放到数组⾥⾯,然后⼿动编写⼀些代码,检查进来的每⼀个元素在数组中是否已经存在,如果存在就不要再放进数组,最后对整个数组进⾏排序,才能达到set 的效果。但是如果直接使⽤ ,我们就可以在头⽂件⾥⾯加个 #include <set> ,然后直接把 当作⼀个类似于数组的容器,把所有元素直接丢到⾃⼰定义的这个set 类型的容器⾥,就会⾃动实现去重(去除重复元素)和排序的步骤~⽐如说题⽬要求将最后所有的答案去重后按从⼩到⼤的顺序输出,就可以直接将所有的答案元素放到set ⾥⾯输出即可~这样我们在刷题过程中就能更好地集中精⼒解决代码思路、算法⽅⾯的问题,⽽不是⼀个简单的答案输出或语法⽅⾯的问题,在考试过程中也能⼤⼤地节省时间,降低代码的错误率~ 更重要的是,使⽤ 能写出更加精简的代码,简短的代码对于刷算法过程中思路的梳理和把握是⾮常有好处的~看过我blog 代码的⼈应该都会发现,我每道题的代码绝⼤多数都⽐᫾简短,这并⾮是我 做完题⽬后将代码修修改改有意为之,你们所看到的代码就是我当时做这道题的过程中产⽣的代码,可能是因为曾经刷LeetCode 养成的好习惯,因为 LeetCode 评论区有很多优秀简洁的代码,我会不断地向他们学习,写代码过程中也会想好思路再写,写的过程中也会不断反问⾃⼰是不是⼀定要这么复杂,进⽽不断优化⾃⼰的思路。因为代码写⻓了就容易产⽣错误,更容易使⾃⼰思维混乱,⼀旦题⽬没能AC 和调试的过程也是⾮常地麻烦~⽽且我已经在 上尽可能还原了当时写完题⽬后产⽣的代码原样,我不希望通过后期经过⼈⼯修改刻意简化的代码让很多初学者接触学习,这对初学者理解代码思路也是⼗分不利的。曾经 Github 上有很多⼤佬帮我优化过⼀些代码,我只接受了其中部分代码,如果我觉得这不是刚看到题⽬写代码时候就能想到的思路,就不会接受这段代码~
1 00 1 . A+B Format ( 20)#include <cmath> #include <cstdio> #include <iostream>using namespace std;char str[ 1 00];int main ( ){ // freopen ( "I-in.txt", "r", stdin); int a, b; scanf ( "%d%d", &a, &b);
我又来 了,之前总是 一段时间就停了,这次要坚持! 这次我主要练习C和C++(需要使用STL就用C++),总结的 文章 目录 PAT A 1 033 To Fill or Not to Fill PAT 1 039 Course List for Student PAT A 1 033 To Fill or Not to Fill 一道贪心 ,讲解在注释中,写的还是蛮复杂的: #include <stdio.h> #include <stdlib.h> #include <stdboo
这篇 文章 算是我整个软考的回顾吧,先在此声明,这篇 文章 不仅适合于准备下半年考试的同学也同样适合于对自己的大学生涯有些迷茫的,不知道现在该做些什么的同学阅读。 对此我会从下面几个方面来讲述我的一些心得体会。 ( ps:准备考试的老哥请直接跳到学习历程) 文章 目录为什么要去考软考?学习历程关于考试的准备 为什么要去考软考? 软考全名是中国计算机技术与软件专业技术资格水平考试,由人社部和工信部举办的国家级考试,它分为初,中,高三个级别,一年两次,考试分为上午 和下午 ,要都通过才行。 计算机专业的证书说实话并不是很多
环科跨考数一英一408 经验 帖写在开头个人情况本科情况考研情况政治英一阶段一:暑假前阶段二:暑假阶段三:考研前数一408时间表 这篇 经验 贴耽搁了很久 ( 其实一开始没打算写)。主要是考虑到每个人的起点都不太一样, 经验 贴起的作用有限。 ( 其次是感觉自己也不算很厉害,没资格写)但总的来说,自己这大半年的考研时光走了不少弯路,也走了很多捷径。现开个坑,希望能对学弟学妹们有所帮助。 本科院校:985 专业:环境科学 成绩:挂科一门,绩点在3左右 ( 均分不到80) 六级:最高分不到五百,记录是大二
文章 目录一. 本人情况二. 关于录取成绩的计算三. 关于复习的时间安排四. 关于初试 1 . 英语2. 政治3. 数学4. 专业课五. 关于机试六. 关于面试七. 最后可能存在的问 八. 一点心得 文章 有点长,希望同样是对前途迷茫的你能耐心看完~~ 一. 本人情况 我本科是浙大 1 5级机械电子工程专业的,四年均绩4. 1 (5分制),专业课程中与计算机相关的大概就是C语言和单片机两门课,其余基本没多大关系。...
import java.util.Scanner; //引入Scanner类 public class Main { //类名称Main public static void main ( String[] args) { Scanner sc = new Scanner ( System.i...
陈越姥姥的《数据结构》刚 完不久,想想就这么把它扔了太亏了,所以就打算开始 一遍 PAT 的过程估计会很长,也做好了心理准备。在这里对自己做出一些小要求: 1 . 一个星期至少 两道 ,预计要花近一年多,所以除了寒假和考前两个星期都不能中断; 2. 不可轻易看 解,即使 目做不出来,也至少要对 目有了自己的算法思路; 3. 每AC一道 ,就要把解 过程和解 时间写在博客上,并且要看看别人的解
大学期间项目做了不少,而在算法 方面还是个小白。借着考研机会,把 PAT 甲级 一遍 ,同时记录一下心得。主要参考的是柳神的 解,略过了不会考或考的可能性很小的 1 0 1 2. The Best Rank ( 25) 设置结构体存储成绩,分别排序计算排名就行啦。 设置一个exist[]数组,用于快速定位特定id结构体的下标。 通过设置一个全局变量flag,减少cmp ( )函数的重写次数。(好久没写忘了这个技巧,结果傻傻写了四遍) 要注意平均成绩是四舍五入的。(虽然没有四舍五入也过了