信息学奥赛是面向青少年的一种智力游戏,和数学物理化学生物一样,是联合国教科文组织的五大科国际赛事。最顶尖的赛事叫国际信息学奥林匹克竞赛,俗称IOI,相对应的我国赛事叫做NOI。而目前我们最常见的最直接的赛事是全国信息学奥林匹克竞赛分区联赛NOIP。一般每年10月中初赛,11月中决赛,最近10年都是在华中科技大学举行,拿到NOIP一等奖的学生能获得高校自主招生资格,一般的入围清华北大的自招考试是有资格的,获得武大华工第二档优惠是没有问题的(第一档优惠是一本线)。
湖北省每年NOIP一等奖大约20-40人,我校前年8人去年11人,还有几个不是华师一但在我这里培训的学生,一般我的实际经验,我校的中等成绩智力正常的学生花到400小时,做到400题拿到NOIP全国分区联赛一等奖(俗称国一)是没有问题的,200小时,200道题基本可以保证国二,高中生一年多时间腾出400小时大家都觉得很为难,实际上是可以的,初中生要是提前搞的话,三年再这么说抵得上高中一年吧!
400小时的分配:一般的学生9月份左右认识我,10月开始培训,我们周二晚上2-3小时,周三下午选修课1小时,周末补课3小时,每周约7-8小时,要是能坚持到到高二的11月,400小时也差不多,还没算寒假暑假的集训。
一般的培训分成三个阶段:
第一阶段,程序设计基础,大约花10次课,主要内容:
1、 c++快速入门:程序结构,输入输出,变量,表达式,顺序,选择,循环三种结构
2、 数组和字符串:大量数据处理技术
3、 函数:结构化程序设计的主要工具
其中难点主要在多重循环,递归函数等,让大家都能学习到编程,只能说可以编出程序,看得懂别人的程序。这段时间最好是连续的上课,希望大家克服一下,因为前面的没有听懂后面的就跟不上,连贯性很强。
第二阶段,程序思想阶段,C++入门后,我们就狂做题,训练程序思想,因为一般的小孩子数学思想还可以,但是基本没有接触到程序,简单的说,数学思想是你会做题,程序思想是你得讲清楚去让别人做题,这个区别还是很大的。这个时候很多程序设计的思想不断的被重复,争取形成条件反射。这个时间我目前设计的是10-20次课,80道题左右。若偶有学生缺课,影响不太大,知识连贯性不太强,主要训练能力。可以看看我后面的训练题。
第三阶段:数据结构和算法阶段,学生有了程序思想,做题还比较顺利后我们讲常见的通用算法和数据结构,这里估计要30-40次课,一般学生要是能认真学完这个,国一基本问题就不大;
1、 表,树,图的表示和基本操作
2、 递推与递归,贪心法,二分法
3、 搜索算法
4、 动态规划
第四阶段:再次狂做题巩固第三阶段的内容,基本上都是自主研究和学习,若能把这20年来全国赛,分区赛的所有题目全部做一次,背熟了,那在湖北省肯定是前3名!!!!
第五阶段:高级数据结构和算法,这个就要求高了,这里就不展开了。
最近几年我一直没有带过初中和小学的小孩子,上面的计划都是按华一常规学生的情况设计的,小孩子肯定要酌情延长培训时间,我目前最担心的是小孩子们的数学是否跟得上。
若能踏准时间,将奖项和学习结合,可以大大提高小孩子的学习积极性。民间的赛事比较多我尽量会带着大家参加,但是说服力不强。真正官方的目前与我们相关的只有全国信息学奥林匹克竞赛分区联赛,分成普及组和提高组,俗称初中组和高中组,初赛报名是9月初,考试是10月中,过初赛的同学可以参加决赛,比例约20%,决赛时间11月中,获得国一是我们的基本目标。
我们若能现在开始培训,今年报名参加下半年的比赛,学得好点的同学可以拿到国二或者国三,明年,国二或者国一就很有希望,万一不行,再来一次,国一基本问题不大。有基础拿到国一的同学顺便报高中组的比赛,到高二,搞到国一基本没问题。
这两三年华师一的高中获奖学生基本都是没有初中基础的,但也有10余人获得国一,一方面说明我们这种培训是有效果的,另外一方面,要是我们能在初中提前学习,肯定会更容易出成绩。
NOI官网 www.noi.cn
去年普及组题目http://wenku.baidu.com/view/8dbe3e672cc58bd63086bd7c.html
前年普及组题目http://wenku.baidu.com/view/8c054b6b844769eae109ed3b.html
两个网站辅助我们的教学,一个是题库:hsyoi.openjudge.cn,一个是讨论组hsyit.cn 欢迎大家参与。
Hsyoi每年两个群,家长群,学生群,只内部开放就不给大家了。
湖北中小学计算机竞赛群 286134339欢迎大家加入,我后期会按照大家的水平分层。
1、 输入一个两位正整数,反向输出,比如输入19输出91;
2、 一只大象口渴了,要喝20升水才能解渴,但现在只有一个底面半径为r厘米,深度为h厘米的一个小圆桶,问大象至少要喝几桶水才能解渴,输入r和h,输出要喝几桶水
3、 一个盒子最多装5个苹果,有n个苹果,最少要几个盒子才能装下;
4、 输入一个数字X,判断它是不是两位数,是的话输出yes不是的话就输出no
5、 输入三个数x,y,z,按由大到小的顺序排出来;
6、 输入10正整数,求其中奇数的和;
7、 输入一个数字,判断它是否完全平方数;
8、 输入一个年份,判断它是否闰年;
9、 12345678910111213141516****,从左到右第N位是几?(0 10、 某国现在有x亿人,假设每年人口增长率为0.1%,n年后应该有多少人? 11、 输入一个整数,反向输出 12、 输入一个大整数,判断它有多少位 13、 输入一个数判断是否质数 14、 输入一个数判断是否回文数 15、 求两个数的最大公约数和最小公倍数 16、 输入10个数,求其中最大的数和次大的数 17、 求Fibo数列第N项 18、 百鸡问题 19、 水仙花数 20、 100以内的勾股数有多少组 21、 A的B次方最末尾三位数是几 22、 被3除余1,被5除余3,被7除余2的最小数是几 23、 100!末尾有多少个连续的0,最右边第一个非零的数字是几 24、 1到N中所有的数字写成1排,其中8出现了多少次 25、 1!+2!+3!+***10! 26、 [l,r]中共有r-l+1个数,其中那个数的约数最多 27、 形如aabb的四位完全平方数有哪些 28、 5个数中选3个数字的排列有多少种情况 29、 355/113 小数点之后100位是几 30、 数字菱形 31、 输入年月日,判断今天星期几 32、 筛法求质数 33、 约瑟夫问题 34、 10个数字由大到小排序 35、 杨辉三角,螺旋方阵,数字三角形 36、 删数游戏。给出一个正整数X,删掉其中一位,使得剩下的数字最小 37、 HAHAAH/JOKE=HA,每个字母表示一个数字,不同的字母表示不同的数字,求解 38、 100!的精确值 39、 求e=1+1/1!+1/2!+1/3!***,精确到小数点后100位 40、 十进制,二进制,八进制,十六进制互换