4个月从0基础到NOIP普及一等奖

暑假入坑,到11月份参加普及组比赛,能获得普及组一等奖吗?

能,但做到的人并不多。

获得普及一等奖难吗?

不难。普及组总共四道题,前2题很水,编程基本功扎实一点,不需要学习任何算法也可以拿到全分,这样就有了200分。第三题、第四题,不要考虑标准算法,直接暴力或者骗分,拿部分分数,正常来讲两题能暴力拿到50分以上,总分250+,只要不在浙江这种战斗力超凡的地区,基本就一等奖了。

说的这么容易,为什么做到的人不多?

一句“基本功扎实一点”,就难住了很多人。2017年普及组的题,就有一些平时水平很不错的小朋友,第一或第二题没有得到满分。前两道题拿不到满分,想得奖基本上很难。NOIP普及组的前两题与后两题差距很大,如果说前两道相当于小学水平,那后两道大约相当于高中水平。

除了基本功,考试的发挥也是重要一环。在考试的高压环境下,3.5个小时内编四道题,是高强度的脑力劳动,你不知道会发生什么。不会的题目仍然不会,平时能做出来的题目也做不出来了?可能变量忘了初始化,循环的次数多了一次,IF的条件写反了……,都有可能。过了样例,高高兴兴地提交了代码,但,也许数组开小了,也许边界条件没有考虑到,也许变量溢出了,100分只能得到20分,30分。

那怎么才能短时间拿到一等奖呢?

1. 缩小学习范围,不要盲目学习太多算法知识。

对于计划速成NOIP普及一等奖的同学,算法不需要学的太多,掌握深搜、广搜便于暴力就可以了,数据结构学会队列、堆栈也就差不多够用了。也不需要考虑算法时间复杂度,能想到朴素的算法,暴力求解就可以了。

2. 加大训练量

学习范围缩小了,可以把时间花在刷题上。挑个顺手的OJ,找到普及难度,提交数比较多的题,争取四个月刷个150+道题。平时刷题过程中,对于常犯的错误要记录下来,有意识总结回顾。

嗯,就是这样,学的少点,练得多点。重点在第一、二题拿全分,三、四题暴力求解拿部分分。

编程不是“听”会的,不是“学”会的,是“练”会的。平时大量的练习,才是考场上正常发挥的保证。短时间从0基础到获得一等奖,掌握的算法多少不重要,编码能力才是最重要的。简单的题能够写对,得满分,复杂的题能够写出暴力解法,得到一部分分,嗯,就一等奖了。最怕的就是说起算法,学过,知道,但是写不出来,写不正确。

最后,考试需要注意啥?

文件夹不要建错;文件名不要写错;程序提交之前测试下,确保正确读写数据文件,去掉了调试信息;注意分配时间,如果一道题30分钟还通不过样例,换道题试试,也许其他题做完了,前一道题就茅塞顿开了。

其他没有什么过多需要考虑的,后两道题也没指望拿满分,拿到题考虑暴力求解就行了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180920G243TM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券