为什么要考研
这个是很多同学问过我的问题,也是很多同学也在迷茫困惑的问题。
对于我自己来说,决定考研是多方面的因素。首先,在大三下半学期之前,我的打算其实是直接工作的,甚至寒假回去和家里人说也是准备直接工作,因为个人觉得自己的动手能力还算比较强的,另外对科研也不是很感兴趣。但是大三下半学期选了沈坚老师的计网,占用了我大量的时间,几乎每周七天总得拿出3-4天时间去做计网作业,再加上还有其他一些杂课,而且呈均匀的状态分布在周一到周五,使得我一直难以组织有效的空闲时间去准备工作相关的东西(甚至由于有很多门课设的存在,使得我期末还非常的忙碌痛苦),因此也就搁置了准备工作的计划。
对于直接工作的同学来说,其实2-3月就需要去准备相关的材料以及笔试面试等内容,然后投递了,如果等到学期结束暑假再去准备的其实蛮紧张的。
而也就是在大三下半学期当中,我在知乎上看到了中科大的软件学院专硕(以下简称科软)多次冲上热搜,对它有了一些了解,并且也产生了浓厚的兴趣。
科软的培养方案与其他大多数研究生的培养方案有所不同。正常的研究生培养一般都是和导师绑定,研一上一年课,并且研究生期间都是听从导师的指导,跟着导师做项目和课题,在这个期间能不能去实习,需要完成什么任务,以及最后的毕业标准,都需要听导师的指导,需要完成一定的科研任务。
而科软则是无导师制,研一上一年课,与本科时上课相近,之后是强制要求实习,需要满足一定的时间(好像是单个单位7个月),之后就可以申请毕业。毕业则是需要你写一篇工程论文(应该是只要通过学校的审核要求即可),并不需要像其他研究生一样发布多少科研成果,必须至少发什么水平的文章才能毕业。同时,由于科软的长时实习,使得毕业时拿offer会变得非常有优势。
我本身不喜欢科研,不喜欢写报告,不喜欢被push,而更喜欢写代码,做开发,因此科软这种无导师且强制实习的安排非常适合我。另外其实我本身也觉得自己的技术力其实不太够,直接找工作的话可能会比较仓促。同时我感觉在大学期间学的比较浮躁,像机组这种课等于没学过,考研也是给自己一个机会能够专注学习一下,也算是对自己大学学习的一个总结了。而且在成功考上之后,也会有大量的时间能够给自己缓冲,也能有很多的空余时间可以支配,可以读一些计算机的经典书籍之类的。
上面讲的是从考上的意义来讲的为什么考研,接下来主要是从能不能考上的角度讲一讲为什么考研。众所周知,考研是先填报志愿,10月填报,后进行考试,12月才考试,且只能填报一个志愿,考研基本2月下半月出分,出分之后3月底基本上才进行复试,才会出录取结果。同时,考研的过程就如同一个黑盒,它与高考不同,在这个过程当中没有人监督你,没有人检查你的学习成果,也就是说你其实很难知道自己目前是怎样一个水平,并且在考之前你也不知道有多少人报考了和你一样的院校专业,你连你的竞争对手有多少,竞争压力有多大其实也是不好评估的。如果失利,那么再去准备春招的话时间多少会有些紧张。
对于我自己来说,首先,我是在大三下半学期结束之后才能有时间准备考研,也就是说我准备考研的时间只能有4-5个月,而科软的考试科目是22 408,实际上数学一要比数学二多了近乎一半的内容,同时英语二也比英语一简单很多,因此从科目上来看,科软相比于其他院校更适合我去考(如果你是要考11 408,那么请尽早做准备,内容还是很多的)。其次,实际上各大院校当中,最优秀的那一批人其实都已经保研、出国、工作了,所以实际上参与考研竞争的人竞争力其实并没有那么强,因此从学校层级来看、学习能力来看,我觉得自己的竞争力应该也不算太差(不过最近考研人数年年新高,从这个角度来看竞争压力其实在增大)。另外,考研作为应试教育,并且在各科都有充分的备考资料的情况下,我觉得是完全可以速成的,再加上大学期间自己基本上所有科目都是突击5小时拿良,因此我觉得在短时间内拿到80%的分数我应该还是能做到的。最后,科软的复试是100机试+100面试+25英语面试,总分是初试分数与复试分数相加,因此初试成绩占比非常高,只要初试成绩较高,那么上岸的可能性会非常大,有些学校(比如同济),复试成绩的占比非常高,可能会达到和初试1:1,而且复试还有一票否决权,即只要你复试成绩不合格,就不予录取,不管你初试成绩多高,因此一旦复试被刷,就会非常伤,处于一个很尴尬的境地,而科软的分数构成无疑减少了风险,因为上岸的可能性又会高不少,并且科软招收5、600人,这种招收人数较多的学校,意味着其分数线会相对比较稳定,有些学校专业可能只招收个位数的人,这种会非常容易出现报录比炸掉或者有神仙报考的情况,风险很高(虽然有同学知道科软2021年有4000人报考,复试线有388之高,但是首先中科大作为华五,报录比8:1其实并不算高,另外2021年数学与408都相对简单,而且还是22,安徽还是水区,因此388换到北京上海的考11 408的院校来说其实就相当于350、360的水平,作为华五来说这个分数并不算高,而且4000人确实有些太多了,这也让我觉得并不是一个能够持续的数字,实际上也确实2022年只有不到2000人报考,虽然有人会想着千层博弈,但是在大数据下大部分人还是处在第一层,不过这也意味着明年的报考人数可能又会变多,也就是所谓的大小年之分)。
综上,我在考之前是充分考虑了自己为什么要考、考上了会有哪些收益、以及能不能考上这些问题的。在这个过程当中有人问过我没有考虑过复旦、软微、同济这些学校么。首先我时间很不充分,所以不太考虑11 408的院校,其次我考研的最重要目的就是不想搞考研,喜欢无导师制,而且复试占比低,不确定性小,所以最后还是选择了科软。
对于还在迷茫的同学,建议是多了解,比如出国有什么要求,能去哪里,难度如何。工作流程是怎样的,时间节点是怎样的,难度如何。考研流程是什么样的,考多少分是什么难度等等。只有你了解的越全面,才能够充分比较衡量各种方案的优劣,做出最合适自己的选择,因此不要着急去做决定,多去收集信息,都了解了再做决定。
如果是已经决定考研,但是还没有准备好考哪里的,建议先按照11 408准备,因为大部分院校还是考11 408的,即使后面要转其他的科目也是相当于降维打击。另外备考从现在就可以开始了,不然到后面准备起来会很紧张。
怎么考研
以下是我自己的备考经历,科软22 408,供大家参考
初试
最终的分数是401分,其实和我估计的结果是差不多的,在考试之前,我给自己设立的目标是70 70 130 130 400,在考试之后,我的估分是65 85 120 120 390,最后还是考到了400分,也算是圆满完成了目标吧。
我是8月才开始准备的考研,备考时间大概4-5个月,因此我的经验中大部分分享都比较急,仅供参考。另外我个人是以效率至上的,因此每天的学习时间其实并不长,大概5-7小时,时间少但是高效,大家对于进度的控制也可以在知乎上参见其他经验帖。
初试相关的主流的各种资料与视频等在各种考研公众号上其实都有,大家可以在知乎或者B站搜搜相应的公众号以及资料等,当然有能力还是鼓励支持正版。
初试的各种资料以及课程仅代表个人感受,事实上每个人的感知与学习能力都是不同的,因此我建议每个老师都先听几节课看看风格,并不会耽误多长时间。磨刀不误砍柴工,适合自己的才是最好的。
在时间充足的情况下我的建议是博观而约取,即每个老师都课都看一看,因为不同老师的课侧重点不同,同时讲授的技巧方法也不同,考研比拼的是熟练度,需要反复多次,不然会遗忘,因此可以在多轮复习时学习学习其他老师的内容,不要抱死不放。
图书馆可以预约考研座位,书再也不用往回拿了(,另外最后一个月的话要调整作息,争取对标考研,如果考外校的话酒店记得提前订好。
政治
政治的话我前期看的是徐涛老师的网课(每天两节课),徐涛老师的风格诙谐幽默,适合前期慢慢看,不过可能不进脑子,看完一遍就忘记了(
在看完徐涛老师网课之后发现自己好像什么都没记住,之后我又将徐涛老师的教材过了一遍。
再后面时间来不及了,所以我主要是跟着空卡(B站up主)反复过大纲(虽然争议比较多,但是我觉得还是很适合我的),并且做了肖八肖四(肖1000由于时间原因基本上没怎么做)。
大题是直接背诵的空卡整理的肖四版本,肖八只需要做选择就好了,因为内容太多,所以其实并没有全部背下来,马原大题全背了,中特背了前两套,史纲背的是空卡整理的通用模板,思修背了第一套,时政背的通用模板。恰逢今年肖老押题并不是很准,所以对我这种背的不是很好的人来说其实是比较有利的。
对于政治的话,由于大题的不确定性较高,因此选择题是基本盘,前面准备的基本上也全部是选择题,选择题其实是很考察记忆的,因此我建议政治不要准备的太晚,慢慢的反复多次才能记住,不想死记的话建议多刷题,肖1000,以及徐涛、腿姐的题,都可以刷,也可以从各种考研政治微信小程序上刷题,多刷才能记住,不然发现后期什么都不记得,选择题错很多会很痛苦。
大题的话确实背肖四就够了,不过我觉得空卡整理的真的很有用,过大纲的视频很有助于把握政治这一学科的整体命脉,整理的大题由于她的视频里有体现逻辑,所以背起来也比较好背(尤其是马原)。实际上大题的话很重要的一点是有话可说,因为我本身不是一个记忆力很好的选手,所以肖四大题对我来说更像是素材。在考场上我也是在尽量分析材料,根据问题,看看材料中有哪些内容相关,将其延申拓展,再结合自己背诵的材料,即可答题。政治最重要的一点就是一定要写满!!!另外考研政治一共三小时,但是要写满的话其实时间还是蛮紧张的,由于大家平时基本上不会有模拟政治答题的机会,因此在考场上一定要注意把握时间。我在考试时时间其实就不是很够,因为思修那道大题材料没什么可抄的,我也没有什么可写的,并且思修的空其实是比其他大题少的,因此我将其留到了最后,7-8分钟两问每一问就写了3行,但是一定不能空下,另外字也非常重要,如果你的字不清楚或者不好看的话建议练练字,市面上有专门的考研政治字帖。
政治个人建议早一些开始,多做一些题,有些人可能建议最后突击,这样性价比高,但是如果有时间的话还是建议好好学一下,毕竟65-80和115-130是一样的,而且如果你是真的没怎么学的话,后期做肖四只有20多分的时候会很慌的(不过真题其实一般都比模拟题简单好多),我就是后面很慌,最后2周直接放弃了其他科目,专攻政治,最后的选择大概是33分,可能是安徽水区再加上字迹比较工整,所以大题分数比较高(或许也能证明我的抄材料大法是正确的?)。
英语
英语分数其实是很出乎我的意料的,因为我其实并没有在英语方面下很大功夫,而且自己的英语水平好像并不是很好,但是最后能取得这么高的成绩真的是很幸运了,考研英语客观题共60分,我应该是只错了一个阅读,扣两分。
四级550分,六级没过,因此我的英语水平不是很好,英语的话我觉得最重要的就是词汇,我一直秉持的观点就是,如果一篇文章的词汇你全部认识,那么你的阅读绝对不会差到哪里去。考研英语中最重要的就是阅读,阅读有整整50分,得阅读者得天下,阅读最重要的又是词汇。我是从备考开始每天背单词,用的是手机app,各种app其实都差不多,我用的是扇贝,其他的墨墨等也可以,看个人喜好。词汇的话我是每天复习+新词140词,过了一遍精简版的3600词,之后就一直反复的过核心2200词,词汇这个事情也是个反复记忆的事情,刚开始可能会很痛苦,后面可能会轻松一些。
习题的话因为我时间有限,所以只是把所有英语二的题做了一遍,前期的是每天一篇阅读,保持手感,后面则是模拟考试,整套地刷。做题我选择的是精做法,即在做完对完答案以后我会对着逐句翻译去看阅读,对不认识的词会标注并且想着记一下(可以发现有很多词是会频繁出现的,包括一些生义,也会反复考),精过一遍后再去看题目解析(这个过程也相当于练翻译了)。
对于完型,完型虽然每个0.5分,性价比不高,但是最好也不要放弃,近几年完型的难度在不断下降,像我这种拿满是完全有可能的,不过也不需要可以准备,每年的题认真做了,订正了就可以了。
对于翻译,没有特别准备过,也是建议认真把真题做好就可以了,也可以看看考研老师们的课。
对于作文,作文又是考研英语里的第二座大山,英一30分,英二25分。作文的话我觉得写是非常必要的,不然很容易出考场上下不了笔的情况。对于小作文来说,全国卷的同学们应该会很熟悉,是100词的书信,小作文其实并不需要多么炫技,更重要的是看语域是否得体,内容是否完整,再加上书信的类型比较多,也不太好背模板,因此我是凭借着高中的底子场上直接写的,再加上一些常用的复杂句式,其实100词是比较好凑的。大作文的话我强烈建议模板化写作,模板的话我推荐使用王江涛的作文书,在里面找两三篇作文模板,再结合自己的或者网上其他资料修改一下,之后套用模板写作。比如英语二基本上考察的都是图表类作文,因此我是有两个模板的,一个动态图模板,一个静态图模板,三段论的形式,中间背了6个解释原因的句子(从不同的角度,例如政治、经济、环境等因素),之后反复套用。另外作文的话我觉得字非常关键,这应该也是我英语能取得好成绩的重要原因,如果字不好看的同学要考虑练字,下面是我的一份作文示例:
对于时间充裕的同学,我建议可以多背作文,毕竟这才是提升内功的最好方法,具体也可以看一看王江涛老师的作文课。另外英语考试的时间其实是很紧张的,因此考前一定要严格模拟整套卷子,为自己规划好各个题目的作答时间,如果是做的快时间比较充裕的同学,可以考虑作文打草稿或者减慢誊写速度来提高作文质量。
对于新题型(英语二)来说,近些年新题型的难度感觉在不断上升,因此新题型一定不要急,全文看过之后再去做,新题型丢分很可惜,而且一丢很有可能不止一个空。
数学
数学的话我个人的基础其实比较一般,高数上是及格,高数下是良。数学二要比数学一的内容少接近一半,不考概率论,高数下的内容涉及的也很少。数学在改革以后的感觉很接近高中的数学试卷形式,10道选择+6道填空,每个5分,大题一道10分,剩余12分。考研数学与高考不同的一点在于考研数学相对来说没有压轴题,因为考察的内容很多,所以基本上每一道题都在考察不同的内容,同时难度也偏向于均衡,即没有特别简单的送分题,也没有特别难的压轴题(个别年份也会有)。因此在考场上可能出现前面有些题不太好做,但是后面的题目反而比较容易的情况,同时这也表明了数学考高分其实是很有可能的,也说明我们在复习的过程中要保持全面,这样才能拿到好成绩。
对于考研老师的推荐,我个人基础阶段看的是汤家凤,强化阶段看的是张宇,线代也是看的张宇。但是并不推荐汤家凤,个人觉得张宇和武钟祥老师讲的比较好。线代虽然网上推荐李永乐的比较多,但是我并不能听懂他讲话,因此还是看的张宇的线代,个人觉得讲的还是不错的。
习题来说一般是跟着哪个老师就做他的习题就好了,不过不是很推荐汤的1800,重复题比较多,另外武钟祥的严选题质量很高。最后模拟题的话李林8+4感觉质量还行,合工大的卷子质量感觉也还不错。因为我备考的比较晚,因此题刷的不是很多,习题是1800的基础篇+半本严选题,之后就是09年以后的真题+李林8+4的模拟题。大家时间比较充裕的也可以参考其他经验贴等的推荐刷题。
从今年的考试来看,感觉越来越重视基础、基本概念和定理推导了,因此在备考时可以多关注一下这方面的内容。在备考初期,可能会出现做不动的情况,比如一开始的连续与极限,以及不定积分定积分等题目,容易让人感到做不下去,一方面是因为很多题的难度其实已经对标考研甚至比考研难度高了,另一方面这部分内容的学习曲线可能确实比较陡峭,但是只要坚持下去,其实觉得就还好了,主要是不要放弃。
408
首先对于专业课选择上面,408由于涉及4门计算机专业的核心课程,所以难度确实还是很大的,因此其实也可以选择其他自命题的专业课,比如有些院校只考察C语言、数据结构等。408属于统考科目,是统一出卷阅卷的,其优点是相对公平,并且有成型的参考书与备考策略,缺点是内容多难度大。自命题科目优点是内容较少,缺点是不透明,有些题目可能本身就是错的,需要自己去找相应的往年习题以及参考资料,而且题目类型可能也会发生大的变化。
对于408来说,显著的考察特征是知识点琐碎,杂,难以记忆,且备考内容非常多。从题型来看,40道2分选择题,数据结构、机组、操作系统各2道大题,计网一道大题,每道大题的一问很多时候只有1-2分,这种琐碎的分值分布导致了408会非常考察细节,同时你的成绩也会相对比较稳定,不会出现太大的失误波动,但同时也决定了很难考到特别顶级的分数,就像今年,今年的408相对来说难度比较高(可能也有判卷比较严的原因),我在排名表上看到分数120以上的都很少,整个科软800多人录分130+的只有凤毛麟角的10人左右。
408只推荐王道,直接看王道的单科书就可以,王道视频没太大看的必要,因为视频里讲的一般是书的子集。复习时基本上就是看书的知识点,然后做后面的习题(习题是可以看王道视频的,很多习题只看书面的答案可能不太好搞清楚是怎么回事,视频讲解会更加清楚,细致一些)。看书的顺序我是数据结构、机组、操作系统、计网,其实看书什么顺序都可以,另外我其实比较推荐先看机组,因为数据结构一上来先讲线性结构,而线性结构又是算法题的重点,因此容易导致一上来就陷入算法题的泥沼中难以前进,导致进度缓慢。由于我的备考时间较短,因此习题我只做了选择题以及真题,其他的题目水平参差不齐,因此也就没有多做,如果备考时间比较充裕的话也可以考虑做掉。
408备考时要学会舍入,有些知识点可能在刚刚一开始接触的时候非常劝退,比如数据结构算法题、机组定点数乘除法、操作系统PV操作等,在第一轮时,最重要的事情是先把整个的内容给过下来,因此对于某些比较有难度的知识点可以先跳过。同时408也非常注重整体性的串联,题目综合性很高,因此从大局入手,开始时不被太多的细节就缠住是很重要的。在第一遍过完之后,你可能会发现最开始学的科目已经忘记的差不多了,所以再开始过第二遍,主要是负责进行回忆,同时对于自己一开始放掉的一些知识点再去看,你可能就会有醍醐灌顶的感觉,觉得也并不是那么难了,过第二遍时速度可以加快很多,你会发现记忆会牢固不少。之后可以考虑过第三遍,加深记忆,同时去认真读每一个细节,因为它们可能都是出题点,争取不放过任何一个细节。再之后就可以做真题,并且查漏补缺,巩固记忆了。408备考最重要的一点就是反复多次,不要忽视任何一个细节,它其实并不需要你死记硬背,更多时候是你看得多了,理解到位了,印象深刻了,也就记住了。
复试
一共5-6个老师,有3个老师问了问题,老师方的杂音很大,所以很多问题听的不是很清楚,总体表现挺差(
英语面
首先是自我介绍,3分钟左右。接着老师问了我学过哪些专业课。一听到这个问题的时候我是懵的,我心想我不是科班么,为啥会问我这种问题,所以想当然的当作了我印象最深的课。所以我先说了高程,然后讲了一些高程的内容,老师问说什么语言,我回答是cpp,老师问我还会其他什么语言么,我回答比较常用的有python、golang,偶尔也会写一些js和一些前端语言。老师继续问,还有其他的么?我:???。然后回答了计网,说了在计网课上学过一些系统编程。然后老师又问我还有其他的么?我就比较懵,老师看出来了我好像没有听懂问题,所以又解释了一下。他说我不是计算机的学生么,我上过这么多计算机的课程,那我都上过什么课,这个时候我才反映过来是要让我报菜名,然后回答了编译原理,数据库,操作系统。
专业面
因为英语面的时候我回答了计网(很后悔,因为自己计网其实学的很差),所以老师上来问了我些关于计网的问题。后面因为自己说了软开的经历,所以问了许多软工的问题。
问:TCP-IP协议有几层。
答:四层,但是网络层和网际层答反了,实际上是因为忘记了其中一个具体是什么名字了,所以比较慌张(网络接口层),一直比较着急是说下面的那一层对应的是物理层和链路层,所以没太思考好名字错了的这个问题,老师还反复确认了到底谁在最下面,还有个老师笑了,但我还是坚定了错误答案,当时应该说记不清了的。
问:每一层有哪些经典的协议。
答:应用层HTTP、传输层TCP UDP、网际层IP、网络接口层以太网协议。接着又问了我以太网协议说的是xx么?(忘记了)我回答不是,是IEEE 802这种。
问:说一下什么是拥塞控制
答:用超市拥挤举例,人流量大的时候大家进不来也出不去,会导致整个网络负载非常大,丢包误包率很高。这个时候就需要调整流量,让一方先行,从而减少网络负担。
问:软件的生命周期
答:问题定义、可行性分析与需求分析、系统设计、详细设计、编码实现、测试、验收、废弃或重构
问:有没有软件开发的经历
答:讲了软工课上敏捷开发的经历,说了不少
问:网络工程中基械的概念
答:机械?什么机械?解释说是基本的基,器械的械,回答 不太了解,后续也未查到
问:黑盒白盒灰盒测试
答:白盒是静态代码逻辑审查,黑盒是将系统作为一个整体测试输入输出,灰盒是两者结合,都要做
问:路径覆盖测试属于什么测试,xx(忘记了)属于什么测试
答:都属于白盒测试
问:听说过测试驱动开发么?更偏向于敏捷开发还是传统开发?
答:根据约定的接口,用测试用例倒逼开发,能够防止惯性思维,同时易于规定标准等。更偏向于敏捷开发。
问:敏捷开发有哪些模式
答:不清楚,但是后续搜到了确实有一些模式分类
机试
今年的机试是一个小时五道编程题。平心而论其实难度挺低的,除了第四个区间dp以外其他题感觉稍微做过一些算法题的都能写出来,科软群里面主要是有太多人是真的一点代码都写不出来了,像是第五题这种裸搜索在平时的数据结构课上作为平时作业都做过。
另外还有一些同学抱怨不透露消息,但实际上官网与往年不同,专门多加了一个C语言上机编程,这实际上是相当明显的一个暗示了。但是大家都不以为然,想着不给环境不能编程(实际上像leetcode模式完全可以),机试不好判等等因素,结果还是准备的是选择题。只能说一方面是被带节奏带多了,另一方面自己也没有好好思考过可能性,结果真的就信以为真了,所以很多同学都有一种被欺骗了的感觉,但事实上不考虑群里面一直鼓吹选择题的气氛,单从官方通知的角度来看我觉得这种暗示程度其实以及不小了。群里面大家都是吐槽带节奏,真的信了的话只能说太单纯了。另外卞老师显然就是什么都不知道的样子,起码有一些自己的判断吧。而且全准备选择题不考虑编程的可能性这无疑也是自己下的赌注,all in总是要做好翻车的代价的。
另外还有一些吐槽保密措施的。我觉得这也无可厚非吧,毕竟作为院校来说科软从来没有说自己偏爱跨考,招生肯定还是希望招收专业技能、综合素质更加高的学生,作为考察来说当然是看你能力而不是因为你是跨考就对你网开一面。如果提前告诉了太多考试内容的话考生可以提前准备,这样实际上是会掩盖掉许多问题了,如果我是作为考核者肯定是希望检查的是学生的基本功,而不是针对我的考试所专门培养的应试能力。
只能说,不要有些话听多了说多了就真的以为是真的了。
考试的oj非常奇怪,既不是传统的自己写完整的程序,然后读取数据处理,也不是像leetcode一样补全函数,而是给了完整的程序,让你补全函数,但是测试用例是写死在main函数当中,在考试过程中你可以修改main函数中的测试用例并且直接提交整个文件内容来获取结果。使用的是像leetcode一样的在线编辑器,不能够调试和自动补全。对于这种东西,我设想的一种可能的测评方式是将提交的每个源文件中的main函数批量替换成标准测试用例,但是总觉得这种做法很怪。
- 第一题是求斐波那契数列。数据范围是1-89,有些同学一上来就想着递归,只能说对时间复杂度完全没有概念了,除非加记忆化。开数组或者直接a+b都可以,需要注意数据很大,会爆int,需要用long long存.
- 第二题10进制正整数转16进制,不许用库函数。除k取余倒着输出,用栈和递归都可以
- 求一个自然数序列中下标连续且数值连续的递减序列的最大长度。从下标为1的地方开始往后扫一遍即可,每次和前一个值对比是不是比它小一,是的话序列长度++,不是的话更新答案,序列长度重置为一
- 给一个字符串,可以在任意一个位置添加任意一个字符,问使其变为回文串的最小操作次数。考虑区间dp,对于的字符串来说,我们假设所有比其规模小的子问题全部得到了解决。当时,显然,且考虑边界不会使其更优。否则就是时,我们需要在已经解决的基础上在最左边再加上一个,或者在已经解决的基础上在最右边再加上一个,这样就可以继续完成回文串。因此可以得到dp方程:$$s[i]==s[j]时,dp[i][j]=dp[i+1][j-1]$$$$s[i]!=s[j]时,dp[i][j]=min(dp[i][j-1]+1,dp[i+1][j]+1)$$
在实现的时候需要注意边界条件是对角线元素全部都是0(单个字符一定回文),另外可以发现此题中的规模是长度,并且当前规模的状态转移都是从小规模而来,所以可以先枚举长度,再枚举起点。该题另外还有一个点就是在于题目中并没有给出数据范围,而且第五题较为简单,所以我在考场上一直以为是个思维题或者线性dp。 - 求一个10*16的01图中最大的1联通区域的大小。裸的搜索题,对于每一个为值为1的格子开始进行搜索,并在搜索的过程中把格子置为0,返回并且更新答案,也可以用vis数组做。有一个点是该题的宏定义为row与col,而我自己dfs函数的形参也叫这两个名字,导致我一直报莫名其妙的错误,调了不少时间。)
关于联培
科软虽然是以无导师制闻名,但是也有着联合培养计划。所谓联合培养就是去科软与其他外面的实验室合作(例如苏州高等研究院、深圳先进研究院等)或者是和其他学院的老师(先研院、计院等),进行联合培养,大一仍按照科软的培养计划上课,后面则不去实习,而是进行正常的科学研究,整个的培养过程是按照学硕培养。简而言之,就是相当于变成了正常的研究生。
对于我本身来说,最后是选择了苏高院的朱老师进行了联培,主要的研究方向是体系结构+AI。虽然一开始的目标是无导师制,但是后面自己考了许多其他因素,还是选择了联培。
第一点是因为自己一开始不想从事科研工作是觉得最后只产出论文的话可能像是本科课程那样去编报告。但是后面随着自己和一些搞科研的同学的不断接触以及自己对这方面的了解不断加深,我发现科研很多时候其实是多年磨一剑,是真的在某方面有了一些较为突出的成果才能有不错的科研成果,而不是像知网上那样鱼龙混杂的水文章。所以个人对于科研的抵触情感是逐渐变小了许多的。
第二点是个人性格原因,如果是高中同学的话其实比较清楚,我在学习的过程中喜欢较真,而且对于学习其实并不持抵触心态,大部分情况下还是觉得学习是一件有意义的事情的。另外对于一个较为理想的学习环境还是比较喜欢的,所以也是觉得做一些研究性质的工作还是蛮适合自己的。
第三点是因为自己本科期间学习的东西比较杂乱,只能说大致形成了一个结构,能够简单的总览计算机这个学科,但是在深度方面可能欠缺许多。本来想着是通过科软这一年上课的时间自己再巩固,深入一下。可是一方面自己对于要向着哪一方面深造还是比较迷茫的,另外靠着完全自驱去学习最后的效果也可能不是很好。而后面了解到朱老师这边做的分布式、体系结构等相关内容都是我比较感兴趣的内容。之前不喜欢科研也有一点原因是现在主流是AI方向,调参,不是我很喜欢的东西,虽然朱老师的方向也是和AI有着很强关联,但是更加偏计算机本身,这方面我更加感兴趣一些。而且打听到朱老师人很不错,恰好有这么一个比较合适的机会,所以选择了联培,进行进一步的深入学习。
第四点是因为我觉得周围人的学习氛围以及知识维度对于自己的一个眼界影响还是蛮大的,因为科软可能大部分都是跨考的同学,所以大家对技术这方面的关注度可能不是很多,而实验室的老师,包括学长这些能够对这方面有所帮助(此前一个不想科研的原因是本科期间接触的许多老师给我一种活在10年前,与现代互联网完全脱节的形象,所以对科研工作者有了一种老古板的印象。但是后面发现这实际上是年纪较大的老师的问题,跟着一些比较年轻的老师搞科研这方面会好很多)。
第五点是现在经济下行,就业形势也变得越来越严峻。所以这种情况下更应该想办法增强自己的竞争力。上学嘛,能上还是尽量上的,我也并不那么着急工作。从事体系结构方面的工作我觉得可以让我的基础功底更加扎实,即使后续再去找工作也会好很多。另外在学习的年纪深造一下也并不是一件坏事,所以最后还是选择了联培。