学习NOIP三个阶段
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、编程语言的学习
PASCAL/C,这个阶段并不需要找什么“竞赛题”,而是踏踏实实的把语言教材上每一章后面的练习认真地做几遍,最好每天都回头看看,不然会忘记的。
不要认为后面的练习很简单,一定要认真做。
基础的语言语法熟练了以后,再逐步地学一些高级一点的,但是这部分内容可以通过自学(比如自己看书上机编程、看别人的程序、讨论交流等),这样的学习方法不但可以牢固掌握和深刻理会知识点,还提高了自学能力。
比如PASCAL书上一般都不讲fillchar的用法,但你经常看到很多程序的开头就用这个语句对数组进行操作,你首先应该自己去“猜”,然后上机实践去验证你的猜想!发现fillchar(a,sizeof(a),0)是用来把数组a制0的。
再深入一点,你还可以再看看相关书籍或和他人讨论。
而不是直接去问老师,这样的印象和效果会更好。
2、基础算法
如求最小公倍数/最大公约数,高精度(加减乘除/输入输出/组合数),查找排序,素数判定/方程的解/因式分解,进制转换及应用,N皇后问题(回溯法)等;
学算法时,最好先自己想,再实践;然后看标准算法和标准程序,实践。
再对比一下优劣,取长补短。
最好养成把一些不熟悉的算法隔几天再做一次的习惯。
因为有的时候,某个算法在你学习的那几天内可能很熟悉,但是一段时间不用,很容易就忘或者不熟练。
一定要把一些基础打好,这个非常重要。
参加一次初赛:增加经验值!
前进
1、简单数据结构:栈、队列、链表等;
2、复杂一点的数据结构:树和图,基本概念(二叉树的计数)和基本算法
(最短路径等)!
3、简单的深度搜索和广度搜索;
4、更多的算法:动态规划等;
5、初等组合:这是信息学解题的思维方式;
6、图论:主要是基础概念方面的,用于理解算法;
7、数学问题:这类题目有一些考的是数学思维,其中有一部分是考创造能
力的;
一定要加强实战练习,提高熟练程序和解题经验。
复赛中:一定提高正确率!!!
数学,数理逻辑,人工智能;
系统地学习算法和数据结构;
省、市、校三级集训;
更高层次;
(完)
返回上页。