网址:http://www.linxizheng.com
网站:外围网站365

新手如何参加信息学竞赛NOIP怎么入门(常见问题

  

新手如何参加信息学竞赛NOIP怎么入门(常见问题解答)

  距离NOIP2017还有三个多月的时间,这几个月可以干很多事,这也就是我接下来要说的。送给大家一个公式:竞赛成绩=实力x经验 给大家解释一下这个公式。我有一个同学,可以算是神犇级别的了吧。他的竞赛实力相当牛b,单源、DP什么的伪代码能轻松默下来,红黑树、博弈论甚至FFT都能讲得头头是道,而且仅仅是一名初二学生! 去年他参加了NOIP普及组的比赛,结果出人意料——只有第一题分解质数(好像叫这个名吧...)得了10分,其他题全部爆0。事实上,他所有题都做了,但是他是抱着AK的心来的,所有的题他都是只过了样例就去做下一道了。你们也知道的,CCF的样例向来都很弱,尤其是去年...他竞赛实力弱吗?一点不弱,他是我们那个考场唯一一个文化之旅写了SPFA这个正确算法的人。但是,很可惜,由于某变量忘记置0导致爆0,考试结束的时候甚至连样例都没试。 还有,我觉得一个好的学习氛围是很重要的。如果你有很好的教练团队或者水平很高的同学的话,氛围肯定是不一样的。在这种氛围下,只要你能认真努力,我想就算想学不好也很难吧。 其实,归根结底,还是要努力学啊,如果你能把考点内容全都掌握的很熟练,那还用什么暴力模拟呢?随手一打那就是550+啊。如果心态好、精神充足的话,AK也是有可能哦。当然,那需要很扎实的知识基础和丰富的经验了。 拿到一道题,有经验的人会先按照人类处理该问题的思维去构造一个数学模型,然后去掉不必要的模拟,找可行优化,选用合适的数据结构和算法去实现,整个过程10多分钟就好了,绝对比你边写边想算法犯了逻辑错误去查几个小时要划算! 新手学信息学竞赛如何入门,知乎上有一个话题讨论,我们也引用一些比较优质的回答给各位同学和家长一些参考,结合一些常见学习问题作出总结。 语言基础方面,首先要学习C++,但并不需要面向对象的知识,基本上是C和STL,C的部分可以看《啊哈!C语言》,C++和STL的部分可以看《算法竞赛入门经典(第2版)》的语言篇。 考场瞬息万变,有不会做的题很正常。平心静气,先做简单的题,如果一道你有正确算法的题答案却不对,很可能是小错误,不要轻易放弃做别的题,那样可能会让你直到考试结束一道题也没做出来。 如果只是为了拿奖而学的的话,主要心思还是得在正常学习上。如果是短时间的兴趣的话,只用一点周末学习吧,不会占用你太多时间,普及组的内容还是挺有趣的。 如果不满足前提条件不是不能搞信息学竞赛,只是会很难进复赛,更不用说拿奖。 以上需要大量投入时间,刷题的时候注意尽量刷“刚好能做出来”的题目,思考一段时间(比如一天)之后还没有头绪,或者程序一直调试不出来的话,可以看一下书上或者搜索一下网络上的资料,一般的题目都会有人在网上发题解,但是千万不要依赖题解,自己思考的过程才是最重要的。 1、选择题:共20题,每题1.5分,共30分。每题有4个备选答案。试题内容包括计算机基本组成与原理、计算机基本操作、信息科技与人类社会发展的关系等等。(普及组为20道单选题,提高组为10道单选题和10道不定项选择题,不定项选择题与答案完全一致才得分,多选或少选均不得分) 我觉得其实是否在外面上课并不是很重要的因素。因为对于很多人来说自学效果往往会更好。 初赛的考察内容的一部分是计算机的基础知识,比如进制转换,工作原理,算法原理、历史事件名人等。这些对于大部分第一次参加NOIP的同学来说应该比较陌生,这样的知识只能通过平时的积累,从现在就开始搜索资料,有意识的去记忆。 最后一部分是程序完成。如果说前面2部分还有补习的希望,最后这一部分完全是靠你的做题基础,没有捷径,只能靠你平时多做题,对部分简单算法有些了解。 欸对了,如果你觉得自己真的对这个很感兴趣的话,我当初花了一千多买了计蒜客的信竞的课,你要想要的话我可以把账号共享给你。 试题解压密码会影响一个人的心情,一定要一次输对,注意大小写,不要边输入边检查,要对自己有自信。禁止携带U 盘、MP3、计算器、手机等任何与存储、计算、通信有关的电子设备;禁止携带一切书籍和其他无关物品;一经发现按作弊处理。 建议自主复习一下旧的知识,比如字符串处理、快速排序这样的知识。头天晚上不要嗨到太晚(熬夜打DOTA、窜宿舍泡妹纸什么的...),早点睡。 但如果你对oi具有热情,希望成为那些神犇一样的oi高手,那就需要长时间的投入了(也有可能因此成绩下滑)。大部分在oi有名气的人都会长时间的停课集训,这可能对你来说还太早(毕竟你还在纠结要不要学)。 还有就是一般住宿的学校会给你学校的平面图,考场在哪、食堂在哪、宿舍在哪一定研究明白了,别找不到地方就蛋疼了... 本文由信息学竞赛整理自知乎,贴吧等网络资源,希望大家的回答能帮助到更多学习信息学的初学者。有任何问题请随时联系我们! 我使用刘汝佳《算法竞赛入门经典 第二版》和(掌握第一本后)《算法竞赛入门经典 训练指南》自学,大半年后达到和初一进队的人的水平。 基础的东西一定不能忘,NOIP2015是我第一次参加NOIP,当时稀里糊涂的过了初赛,复赛之前掌握的东西真的很少,复赛前一天我才学到高精度计算。那时候用的是Pascal,学习数组的时候因为比较赶,所以没大练习,顶多是能比较基础地使用一维数组。结果,相信大家都记得,NOIP2015普及第二题,扫雷,需要开二维数组。当时我一看这道题就懵了,完全想不起来二维数组怎么开了,怎么调试也过不了,最后,普及二等。 1、noip主要学的是算法,与单片机和嵌入式关系不大,推荐去学c++(好像noip说即将要取消c语言了?),c primer plus或者c++ primer plus都挺好的,虽然说那个谭浩强的什么老是被吐槽,但是作为入门还是挺好的,语法这些不需要深究最重要是会用,能描述出你想表达的算法,若是时间紧也可以在学习算法中巩固语法的知识,我看你说看了一半c primer应该也差不多了。2、然后就要学一些算法知识了,我那时主要的算法有:数学递推、回溯、贪心、分治、搜索、动态规划、树、图论,我那时候是有老师教的,大学时看《数据结构与算法分析》感觉也基本覆盖到了,这方面应该挺多书的很好找。 比赛提前30分钟进场,熟悉考场环境,找到自己座位及厕所位置,更改软件、系统为自己所喜欢的设置,如:取消桌面背景、更改屏幕分辨率、更改虚拟内存等。利用熟悉考场时间写下重要且易错内容,如:快速排序(Qsort)、文件操作命令等。 4、程序完善题:共2题,第一题10分,共4空,每空2.5分;第二题18分,共6空,每空3分。两题共28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对的,则得分;否则不得分。 3、程序阅读理解题:共4题,每题8分,共32分。题目给出一段程序(没有关于程序功能的说明),有时也会给出程序的输入,要求考生通过阅读理解该段程序给出程序的输出。输出以字符串的形式给出,如果与标准答案一致,则得分;否则不得分。 3、最后就是多刷题了,多看人家的解题报告,等到了一定境界后就会发现其实来来去去就那几种题。我记得到高三我那个专门放代码的文件夹已经有几百M了, 初赛形式为笔试,描述语言为C/C++或Pascal。各省市初试成绩在本赛区前百分之十五的学生进入复赛,其分数不计入复赛的成绩。初赛时间为10月的第三个星期六下午2:30 - 4:30举行。 NOIP2016的时候,初三,那时候数据结构只是学了点基础,但对于普及组来说也足够了。复赛的时候,可以说是基本没用到数据结构和算法,最多就是第三题用了一个桶排序,前两题全部暴力模拟,但是当时模拟打的比较稳,所以前两题AC。结果,NOIP2016普及一等。 下面我分享一下我个人备赛过程中的自己觉得比较好的一些书籍、网站以及一些小的技巧。 我相信看我这篇文章的同学里也有类似,一段代码出来,大的框架没有问题,就是WA(1),后来抓耳挠腮找了几个小时才发现就是诸如变量初值,变量置零,递归形参、局部全局变量用错这样的小问题。实不相瞒,我直到现在依然如此。为什么?答案很简单,做题少了!做的题多了,错误出得多了,也就有经验了,熟能生巧嘛! 我个人的建议就是,先找本刘汝佳的紫书,照着上面的先学一段时间。当你把基本的语法(至少八皇后能独立写出来)都学得差不多了,学到一些基本的数据结构的时候,再看看你是不是真的对OI感兴趣。 草稿纸考试一般会发放,比较大,需要你带一、两支笔。应该可以带水,但是别喝多了,貌似上厕所比较麻烦。考试这几天就不要再学习新的东西了,时间不够,学也学不精,反而是浪费时间。 不要好高骛远,即使是大神的第一次也不会顺风顺水;不要掉以轻心,即使是NOI也有忘记删调试输出、变量打反、没用文件这样错误的人; 利益相关:当年noip拿过全国一等,13年高中毕业,自招到某985,现在刚毕业入职某司嵌入式开发岗。答这题应该挺适合的。 下文是NOIP吧吧友(账号:lm40015410)对个人NOIP 之旅的一个总结,主要针对初次参加NOIP的普及组新生。总结了教训,也参考了一部分神犇的资料,希望能给各位新生们一个参考。 对于有进阶需求的同学,建议大家可以详细看一下《算法竞赛入门经典(第2版)》以及《算法竞赛入门经典(训练指南)》,并尽量完成上面的练习题。 至于现在参加竞赛会不会晚之类的问题,现在都统统不要考虑。如果你对这个真的有热情、有天赋,还肯下功夫的话,国际金牌都不一定啊。泥看,高一搞oi最后签约清北的也不在少数啊。 其实,更多的孩子可能是从初一开始,进程和小学开始差不多,参赛也很从容。如果初中毕业才开始,那么节奏可能会有一点紧凑了。 另一部分是数学内容,包括排列、组合等大概高中的数学知识,需要下载资料去研习,背公式。 答:NOIP取得好的成绩对参加名校的自主招生有一定的帮助。进入国家集训队的,可以直接保送清华北大。欧洲五大联赛乱象:联赛冠军全部卫冕 杯赛冠军,其他获奖选手可通过夏令营、冬令营、科学营、体验营等各种自主招生渠道争取到降20-60分甚至本一线的录取优惠。 我当初也是先自学的C#,但C#的编程和OI的编程差别还是挺大的其实。所以千万不要以为“对C#感兴趣”就相当于“对信息学竞赛很感兴趣”。 答:有的孩子小学就开始学习,或许可在小升初时享受到信息特长生优惠(根据当地政策而定)。 所以说,最基本的暴力模拟也是一定要熟练的,毕竟很多时候正解是很难想出来的,这时如果你的暴力打的稳,并且优化的好的话,只要数据不是很大或者很坑,也是能拿到不少分的。 这里是快退役的高二oier,我们学校去年才开重视竞赛,我个人也走了许多的弯路。开始学习的话建议从啊哈算法入门,先培养兴趣,这本书极其通俗易懂。看完之后可以刷一下普及组的试题。接下来可以看算法竞赛进阶指南(这是一本好书),把后面的题做完就差不多noip400+了。如果是弱校的话(并且在强省)不太建议冲刺省队,拿个省一就差不多了。oi路上最重要的是坚持,千万不要像我一样颓废。(circlestar回答) 进入初中后,可争取初一拿普及组一等奖,初二开始可直接参加提高组竞赛,或许可在中考升学时享受优惠(根据当地政策而定)。这样高一就可以冲刺提高组一等奖,并且可以冲省队、冲国赛了。 清华大学、北京大学等重点高校每年都会于信息学同学进行签约,包括:无条件降至一本线录取、 有条件降至一本线 分等不同档次的降分优惠。 2、问题求解题:共2题,每题5分,共10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。答案以字符串方式给出,考生给出的答案与标准答案的字符串相同,则得分;否则不得分。 在Oier中,有一句话广为流传:任何蒟蒻必须经过大量的刷题练习才能成为大牛乃至于神牛。这就是著名的lzn定理。然而,我们这些蒟蒻们,没有经过那么多历练,却要和大牛们同场竞技,我们该怎么以弱胜强呢?答案就是:骗分。那么,骗分是什么呢?骗分就是用简单的程序(比标准算法简单很多,保证蒟蒻能轻松搞定的程序),尽可能多得骗取分数。骗分是蒟蒻的有力武器,可以在比赛中骗得大量分数。但是,最后我还是要说一句:不骗分,是骗分的最高境界。 第二天大概6点左右就起床吧,剩下的时间根据需要调配,早饭、午饭大概8成饱就足够了,考试前记得上个大号- -哦对了,参赛证千万别丢了!建议快考试的时候再挂到脖子上(我们这有个仁兄把准考证弄丢了- -最后怎么解决的不知道),平时别拿出来显摆。 第一题,一个逻辑错误;第二题,某情况下变量加不+1但是没考虑;第三题,强行按照自然数拆分的办法写的DFS;这些错误很小,但是这千里之堤就毁于小小的蚁穴了!他的竞赛实力很强,但是做题经验几乎为0,他几乎所有的时间都用在了研究算法上,很少做题。 首先声明,我是一个高一的OIer,有的东西只是自己的感受,大家不要太计较啦

您可能还会对下面的文章感兴趣: