1. 首页
  2. 主站
  3. 朋友
  4. 关于
  5. 后台

鹏鹏

老学长的碎碎念:给即将参加NOIP2018的你们

【本文阅读对象:无论我有没有教到过的、即将参加NOIP2018普及组初赛的同学。】
【·····dalao们请无视·····】
【老学长的姿势水平太低,文中如有错误恳请指出。】


一、考前摆正心态

最重要的话写在最前面。
距离初赛仅不到一个月了,这段时间是临阵磨枪最好的时候:初赛考的就是你考前的心态!
不要像老学长一样,NOIP2017初赛考前被班主任说不要参加竞赛,一下子心态炸裂,就果真没去准备考试,结果初赛都没过(┬_┬)。
不管先前你对知识的掌握如何,请好好把握这段时间。
1、切忌消极:距离初赛时间说短其实不短,即使你之前没有很好地掌握知识,请不要轻言放弃,你仍有很多的时间来准备。亡羊补牢、为时未晚。
2、切忌懈怠:无论做什么事情,最致命的就是产生了懈怠之意,纵使你已经完全有能力过初赛了,也不可有丝毫的松懈,因为在你放松的同时,更多的人在快速地超越你。为了不被其他人超越,你应当向满分看齐。查漏补缺、时刻需要。
3、切忌自负:有位哲人这么说:“自负者自缚,自负者必负,自负者后果自负。”——我自己说的。


二、复习建议

老学长从近几年的命题规律和重点出发,归纳出一些高频考点(也就是重中之重),提出如下建议,作为着重复习的内容。
每一种归类下的例题并不完整,仅作为示例
未提及的方面,同样需要复习。

Ⅰ、选择题

1、NOI与NOIP常识题
①看官网上的各种文件,特别是与考试有关的通知、规则等。
【例·2017普及·18】从( )年开始,NOIP竞赛将不再支持Pascal语言。
【例·2016普及·20】参加NOI比赛,以下不能带入考场的是( )。
②看百度百科,了解NOI和NOIP是什么、干什么、谁搞的之类的事实。
【例·2017普及·7】NOI的中文意思是( )。

2、计算机简单理论与计算题
根据近年来的趋势,对于理论的考查逐渐淡化并且常识化,更加侧重于简单的常识性计算。
①语言相关。了解各种语言的特性,如是否面向对象,是否允许递归等;了解语言发展的顺序,包括从机器语言到高级语言的顺序和高级语言的发展顺序等。
【例·2017普及·6】下列不属于面向对象程序设计语言的是( )。
【例·2014普及·1】以下哪个是面向对象的高级语言( )。
②文件相关。文件大小的计算,文件大小的单位转换、文件的格式等。
【例·2017普及·4】分辨率为800x600、16位色的位图,存储图像信息所需的空间为( )。
【例·2015普及·1】1MB 等于( )。
③计算机结构、原理、存储。如计算机的编码形式,数组的存储,寄存器,内外存,CPU等。
【例·2017普及·1】在8位二进制补码中,10101011表示的数是十进制下的( )。
【例·2017普及·2】计算机存储数据的基本单位是( )。
【例·2016普及·2】如果 256 种颜色用二进制编码来表示,至少需要( )位。
【例·2016普及·5】以下不是存储设备的是( )。
④计算机发展史与重要概念。百度百科“计算机”就能看了。了解与计算机相关的奖项、名人等。了解图灵机等重要概念。
【例·2017普及·5】计算机应用的最早领域是( )。
【例·2016普及·4】以下不是 CPU 生产厂商的是( )。
⑤软件与协议。了解常见操作系统,常见软件,病毒的概念;了解常见协议的中文和英文缩写及其功能。
【例·2017普及·3】下列协议中与电子邮件无关的是(   )。
【例·2016普及·1】以下不是微软公司出品的软件是( )。
⑥通信。了解基本的网络常识,了解一些通信技术,TCP/IP协议等。
【例·2016普及·3】以下不属于无线通信技术的是( )。
【例·2014普及·12】下列几个32位IP地址中,书写错误的是( )。

3、数学题
①进制转换。
【例·2017普及·15】十进制小数13.375对应的二进制数是( )。
【例·2016普及·7】二进制数 00101100 和 00010101 的和是( )。
②排列组合、概率。加法和乘法计数原理搞清楚,C和A的公式记清楚,最好能知道公式怎么得出来的。概率的话,比较容易了。多做几道题目,找感觉。
【例·2017普及·9】甲、乙、丙三位同学选修课程,从4门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有( )种。
【例·2016普及·16】有7个一模一样的苹果,放到3个一样的盘子中,一共有( )种放法。
③日期星期计算。
【例·2017普及·8】2017年10月1日是星期日,1999年10月1日是( )。

4、基础语言题
这类题型覆盖的知识点较广,需要考场上随机应变。
【例·2017普及·13】向一个栈顶指针为hs的链式栈中插入一个指针s指向的结点时,应执行( )代码。
【例·2016普及·12】若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值 (c 大于 0)。s = a; for (b = 1; b <= c; b++) s = s + 1; 则与上述程序段修改s值的功能等价的赋值语句是( )。

5、算法题
①各种算法的复杂度(平均、最坏、最好)、原理,排序算法的稳定性、排序次数,查找次数等。
【例·2017普及·17】设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,任何以元素比较作为基本运算的归并算法在最坏情况下至少要做( )次比较。
【例·2014普及·18】设有100个数据元素,采用折半搜索时,最大比较次数为( )。
②复杂度的计算。
【例·2017提高·6】若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogN,T(1)=1,则该算法的时间复杂度为( )。
【例·2015普及·19】设某算法的计算时间表示为递推关系式 T(n)=T(n-1)+n(n 为正整数)及 T(0) = 1,则 该算法的时 间复杂度为( )。

6、数据结构
①数组、链表、栈、队列。熟悉其存储、调用、原理。
【例·2017普及·16】对于入栈顺序为a,b,c,d,e,f,g的序列,下列( )不可能是合法的出栈序列。
【例·2015普及·13】链表不具备的特点是( )。
②树。前中后遍历、边和点的关系等。特殊的二叉树:满X叉树,完全X叉树,会计算点的个数、深度、下标等。重要的树:哈夫曼树。
【例·2017普及·12】表达式a×(b+c)×d的后缀形式是( )。
【例·2016普及·11】 一棵二叉树如右图所示,若采用顺序存储结构,即用一 维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i处、右孩 子位于下标(2i+1)处),则图中所有结点的最大下标为( )。
③图。广度和深度搜索,边和点的关系,入度出度等。重要的图:欧拉图,哈密尔顿图。
【例·2017普及·10】设G是有n个结点、m条边(n≤m)的连通图,必须删去G 的( )条边,才能使得G变成一棵树。
【例·2016普及·15】设简单无向图G有16条边且每个顶点的度数都是2,则图G有( )点。

Ⅱ、问题求解题

1、数学计算题,如2014·1,2015·1。基本上为排列组合题,参照选择题该题型复习建议。还有常考的有一些重要组合数,如卡特兰数、斯特林数等,要会计算。
2、找规律、凑答案题,如2017·1和2017·2。这个只能平时多练几道找找感觉,考场上不至于没思路。
3、有关数据结构的计算题,如二叉树节点、深度的计算,参照选择题该题型复习建议。
4、基础算法题。某些排列组合题适合使用递推(动态规划)来做,如2016提高·1。2014·2直接把最短路的题放上来了,你说能不拿分吗。所以递推、递归、贪心、高精度、排序、最短路、搜索、分治等基础算法,一定要复习到位,不止要会写代码,还要会直接套用这种思想来做笔试题。

Ⅲ、程序阅读题

【敲黑板,划重点!】【8分一道的送命题,你能错一道吗?】
1、简单计算题。这是最送分,同时也是最送命的题。做对了,很简单8分到手;做错了,后悔一辈子去吧。这题目,老学长建议你把每个变量及其值都写出来,一句代码一句代码认真算,一遍算完再算一遍,直到确认无误为止。
2、复杂计算题。这类题目,往往让你计算一个变量的值,而这个变量在一个循环中被多次累加。这个循环的次数或者累加的数极有可能很大,不便于直接模拟计算。此时,就要找出这个累加进去的值和循环次数的关系,试着找出通项公式来。比如某年某道题,可以发现累加值的通项公式为n×2^n的数列,进而就可以求出这个数列的前缀和公式,最终套用这个公式即为答案。这个方法比直接模拟快了不知道多少倍。
3、基础算法题,如2014·3大小写转换。这类题目往往代码中或者全部代码都为我们已知的算法,那么我们完全不必要再模拟,根据我们已知的结论直接计算答案即可。参照问题求解题该题型复习建议。
4、递归题。先试试看能不能转换为已知的模型,如2014·2,可以看成是斐波那契数列的变式,那么我们就可以化递归为递推了。如果找不出模型来,那么基本上也就只有模拟递归一条路了。递归过程中,草稿纸上注意写清楚哪些变量是全局的,哪些变量是在哪一次递归里的,很容易弄混的哦。注意,一些递归题实际上可以自己脑补一个“记忆化”,也就是说,模拟一遍过后,你就知道这次递归的结果了,之后别再重复计算了。在递归模拟的过程中,你其实也能发现一些规律,试着找找递归函数的参数与返回值之间的联系,会很有帮助的。
5、概念题。某些题目实际上是在考查你对语言本身的掌握程度,如2015·4,考查指针,取地址,解析,传参等操作。这种题目,你只能多多复习语言,越是毒瘤的语言特性,越是要认真对待,说不定今年就又考个这种类型的题目呢。
6、对于一大段的程序,学会划分层次和段落。划分层次就是把分支循环之类的结构用笔画出来,看得能更清楚,不至于眼花把代码看错。划分段落是指,把在实现同一目的的代码看成一个段落,在阅读时一段一段地看,不容易出错。
7、学会从一段陌生的代码中寻找熟悉的代码,这一段熟悉的代码就大可不必去模拟,而是直接使用结论来计算。这样一来不仅减少模拟量,又提高准确率。
8、即使是不熟悉的代码,也应当有“秒懂”的能力。如2016·1,不难看出它在干什么,因此就不要模拟,节约时间。
9、纯模拟。不到万不得已不得出此下策!不到万不得已不得出此下策!不到万不得已不得出此下策!除非是完全找不出任何的规律,没有任何的想法,否则千万别模拟,费时间。万不得已要模拟,就得记住:要模拟就模拟,别中途又嫌烦放弃。模拟过程要清楚写在草稿纸上,变量值写清楚,不要瞎画,一不小心就弄错,亏大。做完后有时间建议再模拟一遍,没时间也要回头看看草稿纸上的过程有没有错的。
10、模拟题。这种题天生就是来玩你用的,慢慢品味吧。
11、看清楚循环和分支的条件,有时候多做一句语句就全盘皆输,如2016·1。注意不等号的方向以及是否可以相等。说来说去,其实就是要认真审题,这对每种题型都是一样的,粗心一次后悔一辈子。

Ⅳ、程序完善题

1、“可以算作”模拟题。如2014·1要求删去字符串中的数字字符,2015·1要求输出日历。难度不大,“把题意翻译成C++语言即可”,出现概率不大。
2、算法题。2014·2贪心,2015·2二分查找,2016·1读入优化,2016·2二分答案,2017·1快速幂(基于二分),2017·2二分答案。发现什么规律了吗,近几年频繁在考查二分!!!所以你对二分一定要重视,二分查找、二分答案、快排、归排、快速幂等等基于分治思想的题目在OJ多练几道,别去翻别人的题解,自己动手写,印象深刻,再不济也得背代码(不推荐)。再看2014·2贪心,实际上它是由一道我们很熟悉的贪心题【最大子串和】【前几年的初赛完善题】改编而来,实际上只是把一维拓展到了二维,本质是一样的。还有哈,近几年提高组的完善题,也出现了大量模板题,如SPFA和Dijsktra算法。综上,请对各种算法引起高度的重视,算法的模板要滚瓜烂熟,键盘会打,手上也得会写。
3、完善题,你可以把它当阅读题做。首先你得认真审清题干,再通读代码,划分层次,明白(或者猜测也是可以的)每个层次的意义,根据理解,再填写代码。待一个层次或者整道题完善以后,就用阅读题的思维,带一遍样例输入输出,确认无误。
4、尝试从代码中寻找语言标志。二分题,一般会有“l,r,mid,while()”之类的标志,或者有“>>=1”“/2”等。排序题,一般会有多个for或while,还会有变量交换语句。搜索题,深搜很好判断,广搜就看有没有head,tail,q[]等变量。大概猜测出算法以后,做题目往往事半功倍。
5、代码语法语义等低级错误就别犯了,大于小于等于、==和=之类的千万别出错。


三、考场心态

QQ图片20180918091547.jpg 要是这样那你就完了。
QQ图片20180918091558.jpg QQ图片20180918091552.jpg
千万别过度紧张,发挥不出水平。
遇到难题别慌,好好想想老学长给你的建议,能做就做,不能做就瞎猜一个走人。优先解决容易的题目,把会做的题目尽量全做对,初赛就基本没问题,到头来那点难题的分数谁又会在乎呢?况且,既然连你都不会的题目,其他人有可能会做吗?
反正就是不骄不躁,保持积极的心态,初赛岂不是小菜一碟?


四、考试时间分配

1、选择题25~30分钟,水题秒选,难题烦题尽量在2分钟之内解决,对于有把握的题可以适当延长时间,但不建议超过5分钟,没什么把握的题,先排除几个选项,蒙一个答案,放着。
2、问题求解10~15分钟,草稿纸上写清楚计算过程,计算可以适当慢一些,保证正确率。
3、阅读题35分钟左右,四题依次3、7、10、15分钟左右,建议阅读两遍,时间充裕。
4、完善程序题10分钟,两题四六开。
5、一遍做完之后大概耗时90分钟,剩余30分钟,这半小时千万别睡觉(不过你应该不敢睡),花10~15分钟检查:再审题、再思考、再核对,最后还有时间剩余,就可以用来钻研难题。对于难题,请运用贪心思想,尽量选择分值大且更有把握的题目做。
6、在最后的检查环节中,请不要轻易改动原先的答案,因为往往你的第一答案(直觉)是正确的,而第二答案不一定对,除非你有十足的把握。
7、最后的5分钟,绝对不要再改动答案,绝对不要再改动答案,绝对不要再改动答案。这5分钟,请认真仔细检查姓名等信息是否填正确,选择题是否写到了答题卷上,所有答案是否清楚无误地抄到了答题卷上,有没有抄错位置等。
8、最后30秒,放松心情,一切都已经是过去式,不要再纠结了,把精力放到以后的学习上吧。


五、祝你们考出好成绩!

老学长的碎碎念到这里就结束啦!看完后,你就该滚去写代码了!
QQ图片20180918091602.jpg


成浩鹏于九乡河文理学院
2018.9.18

Typecho强力驱动,鹏鹏享有并保留本站所有内容的权利。