宗旨:旨在向那些在中学阶段学习的青少年普及计算机科学知识;给学校的信息技术教育课程提供动力和新的思路;给那些有才华的学生提供相互交流和学习的机会;通过竞赛和相关的活动培养和选拔优秀计算机人才。
背景:1984年邓小平指出:“计算机的普及要从娃娃做起。”中国计算机学会于1984年创办全国青少年计算机程序设计竞赛(简 称:NOI),当年参加竞赛的有8000多人。这一新的活动形式受到党和政府的关怀,得到社会各界的关注与支持。中央领导王震同志出席了首届竞赛发奖大会,并对此项活动给予了充分肯定。从此每年一次NOI活动,吸引越来越多的青少年投身其中。十几年来,通过竞赛活动培养和发现了大批计算机爱好者,选拔出了许多优秀的计算机后备人才。当年的许多选手已成为计算机硕士、博士,有的已经走上计算机科研岗位。
为了在更高层次上推动普及,培养更多的计算机技术优秀人才。竞赛及相关活动遵循开放性原则,任何有条件和兴趣的学校和个人,都可以在业余时间自愿参加。
NOI系列活动包括:
全国青少年信息学奥林匹克竞赛和全国青少年信息学奥林匹克网上同步赛、全国青少年信息学奥林匹克联赛、
冬令营、
选拔赛和
出国参加 IOI。
NOI:全称为全国青少年信息学奥林匹克(National Olympiad in Informatics 简称NOI),是国内包括港澳在内的省级代表队最高水平的大赛,自1984年至今,在国内包括香港、澳门组织竞赛活动。每年经各省选拔产生5名选手(其中一名是女选手),由中国计算机学会在计算机普及较好的城市组织进行比赛。这一竞赛记个人成绩,同时记团体总分。
NOI期间,举办同步夏令营和NOI网上同步赛,给那些程序设计爱好者和高手提供机会。为增加竞赛的竞争性、对抗性和趣味性以及可视化,NOI组织进行团体对抗赛,团体对抗赛实质上是程序对抗赛,其成绩纳入总分计算。
NOIP:全称为全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces简称NOIP),自1995年至今。每年由中国计算机学会统一组织。 NOIP在同一时间、不同地点以各省市为单位由特派员组织。全国统一大纲、统一试卷。初、高中或其他中等专业学校的学生可报名参加联赛。联赛分初赛和复赛 两个阶段。初赛考察通用和实用的计算机科学知识,以笔试为主。复赛为程序设计,须在计算机上调试完成。参加初赛者须达到一定分数线后才有资格参加复赛。联赛分普及组和提高组两个组别,难度不同,分别面向初中和高中阶段的学生。
冬令营:全国青少年信息学奥林匹克冬令营(简称冬令营)自1995年起。每年在寒假期间开展为期一周的培训活动。冬令营共8天,包括授课、 讲座、讨论、测试等。参加冬令营的营员分正式营员和非正式营员。获得NOI前20名的选手和指导教师为正式营员,非正式营员限量自愿报名参加。在冬令营授课的是著名大学的资深教授及已获得国际金牌学生的指导教师(后面有2018年全国青少年信息学奥林匹克冬令营(CCF NOI2018冬令营)通知正文)。
APIO: 亚洲与太平洋地区信息学奥赛(Asia Pacific Informatics Olympiad)简称(APIO),2007年创建,该竞赛为区域性的网上准同步赛,是亚洲和太平洋地区每年一次的国际性赛事,旨在给青少年提供更多的赛事机会,推动亚太地区的信息学奥林匹克的发展。APIO每年5月举行,由不同的国家轮流主办。每个参赛团参赛选手上限为100名,其中成绩排在前6名的选手作为代表该参赛团的正式选手统计成绩。APIO中国赛区由中国计算机学会组织参赛,获奖比例将参照IOI。
选拔赛:选拔参加国际信息学奥林匹克中国代表队的竞赛(简称选拔赛)。IOI的选手是从获NOI前20名选手中选拔出来的,获得前4名的优胜者代表中国参加国际竞赛。选拔科目包括:NOI成绩、冬令营成绩、论文和答辩、平时作业、选拔赛成绩、口试。上述项目加权产生最后成绩。
IOI: 出国参加国际信息学奥林匹克竞赛(International Olympiad in Informatics)简称(IOI)。由中国计算机学会组织代表队,代表中国参加国际每年一次的IOI。中国是IOI创始国之一。IOI2000由中国主办,CCF承办。出国参赛得到中国科协和国家自然科学基金委的资助。
自1989年开始,我国在NOI(网上同步赛99年开始)、NOIP、冬令营、选拔赛的基础上,组织参加国际信息学奥林匹克(IOI)竞赛。十几年中选拔75人次参加了 IOI,累计获金牌46块、银牌17块,铜牌12块。这些选手不仅在国际大赛中有好的表现,而且在现代的信息学科上也大展才华。中国已成为世界公认的信息学奥林匹克竞赛强国,参赛选手、领队、教练曾受到江泽民、李鹏、李岚清等党和国家领导人及著名科学家的亲切接见和赞扬。
信息学竞赛,你想了解的知识都在这里!(答家长问题)
信息学竞赛到底是什么?
1、问:NOIP是什么?
答:NOIP,全称“全国青少年信息学奥林匹克联赛“,一般简称”信息学竞赛“,是中学阶段最重要的“数学,物理,信息学(计算机),化学,生物”五大学科竞赛之一,竞赛的内容是计算机编程。
2、问:计算机编程就是玩电脑游戏吗?
答:不是玩电脑游戏。编程是编写程序,目的是告诉计算机如何去完成任务、解决问题,编程是一种很重要、很强大、很赚钱、很受欢迎的与计算机交流的能力。
3、问:信息学竞赛是干什么的?
答:信息学竞赛就是计算机编程竞赛,面对中学生的,每个级别竞赛一年举办一次。 竞赛分普及组(初中)、提高组(高中),初中生也可以参加提高组竞赛。竞赛级别分为省级联赛(NOIP,初赛每年10月,复赛每年11月)、国家决赛(NOI,每年7、8月)和国际竞赛(IOI,每年7、8月)。
信息学竞赛真的那么好吗?
1、问:信息学竞赛现实好处是什么?
答:参加名校的自主招生是信息学竞赛的主要目标之一。进入国家集训队的,可以直接保送清华北大。其他获奖选手可通过夏令营、冬令营、科学营、体验营等各种自主招生渠道争取到降20分直至本一线的录取优惠。
2、问:信息学竞赛获奖后,在自主招生时只能报计算机专业吗?
答:分情况。如果你打到国赛金牌、银牌签约基本都是计算机专业。一般自主招生并不限制专业。
3、问:信息学竞赛长远有什么好处?
答:就说说升入大学以后吧。中学参加竞赛的学生,到了大学一般都会继续参加大学的ACM(美国大学生程序设计大赛)等,从而获得高额奖学金、转入实验班、保送研究生、名企校招等大量机会。
4、问:我家孩子出国有必要学这个课程吗?
答:太有必要了!如果出国读大学,NOIP获奖证书就可以打动很多国外大学。到了大学如果是理工类专业,打过竞赛的孩子在国外上编程课几乎可以秒杀一堆作业、一群同学。
5、问:学编程将来就是“码农”吧?“码农”很苦吧?
答:什么行业都有底层、中层和高层。所说“码农”是指IT行业底层的程序员,自然辛苦。但从计算机行业来看,其就业起点、成长速度已经在各行业中遥遥领先。所以,重要的是你是否足够牛逼,你有无足够兴趣,和编程本身无关。
谁都能学信息学竞赛吗
1、问:我家宝今年小学二年级能学不?
答:不建议学信息学竞赛,信息学竞赛一般在小学4年级以后开始学习比较合适,因为C++编程需要一定的数学知识和逻辑能力。针对小学1-3年级的学生有Scratch语言等可视化编程语言,好玩而且很有创造性,也可以培养孩子的逻辑能力。
2、问:我家宝高二了,能学不?
答:不建议学信息学竞赛,因为9月份就上高三了,学业压力太大,根本没有精力学竞赛。当然,不排除有高二初学高三获奖的个案,但是否值得冒这个风险,家长应该慎重考虑。
3、问:几年级学信息学竞赛最好?
答:建议小学4年级开始学,或许可在小升初时享受到信息特长生优惠(根据当地政策而定)。进入初中后,可争取初一拿普及组一等奖,初二开始可直接参加提高组竞赛,或许可在中考升学时享受优惠(根据当地政策而定)。这样高一就可以冲刺提高组一等奖,并且可以冲省队、冲国赛了。当然,从初一开始也不晚,进程和小学开始差不多,参赛也很从容。如果初中毕业才开始,那么高一一般拿不到什么成绩,只能把宝押在高二了。
4、问:孩子爱玩游戏,想学学看,当玩了,行吗?
答:呵呵,只能这样啰。这也算一类学生,不以竞赛为目标,也没什么太高要求。但是,现在对于计算思维和编程能力的学习,在日后的学业、事业上都会有巨大帮助。
5、问:孩子动电脑,万一玩游戏上瘾怎么办?
答:一开机器就要玩游戏的孩子,一般也学不好编程,我们也不建议这样的孩子学。
6、问:我家老大16,老二8岁,他俩一块学可以不?
答:最好别闹,他俩玩都玩不到一起,打起来怎么办?
和文化课冲突了怎么办??
1、问:想学,又怕耽误文化课,咋办?
答:患得患失、三天打鱼两天晒网,是走信息学竞赛之路的大忌。这样可能既耽误了时间,又没出成绩,文化课也不强。所以,做任何事都要有决断力,一旦选定就要坚定不移。一般文化课可以安排有些提前量(提前学),这样参加信息活动和竞赛才对孩子的文化课影响小。
2、问:没时间、没精力怎么办?
答:信息学竞赛一般要求学有余力。如果文化课都应付不过来,还是不要分心的好,搞竞赛也是为了冲刺更好的学校。当然有一部分学生文化课成绩一般,但是对计算机有浓厚的兴趣,而且起步也早,这样的学生又另当别论了,毕竟在升学时又找了一个重要的砝码。理想状态是,因为信息特长的优势,在中考和高考前,能够享受到信息特长生优惠政策,这样就可以降低,甚至完全解除升学压力,可以更灵活、更自由地学习了。
信息学竞赛该怎么学?
1、问:信息学竞赛学什么?
答:正式的信息学竞赛课程一般包含两大部分:一部分是编程语言——C++,一部分是算法和数据结构。编程语言一般十几次课,最多一学期学完,要看孩子的情况;算法和数据结构无法确定时间,因为既包含相关知识,还包含大量上机,还要看你的目标,从NOIP、NOI、APIO、CTSC到IOI,看您打竞赛想打到哪个层次。如果是小学开始,一般建议增加一部分:编程入门,目的是培养孩子学习编程的兴趣和信心,时间不确定,看孩子情况。
2、问:学信息学竞赛要花很多时间吗?
答:当然了,毕竟竞赛课比文化课的难度要高。一般来说,除了上竞赛课,每周都应该花4小时左右做编程题,省选和国赛阶段,很多学生甚至会阶段性地停课刷题。如果舍不得投入时间和精力,就很难取得特别好的成绩。当然,有投入就必定有回报。
3、问:学好信息学有什么好的方法和窍门吗?
答:一般都是利用晚上、周末、节日、寒假、暑假等课余时间参加线下集训、在线刷题、看别人题解来补强和提高。另外,还可以争取各种夏令营、冬令营、省选活动、APIO、CTSC、高校邀请的学科营等机会去比赛和交流。总之,学好信息一般需要浓厚兴趣、时间投入、专业教练、数学基础等几大要素。学好信息也无需废寝忘食,注意适当运动,以保护视力、缓解疲劳。
4、问:我家宝儿老聪明了,想让他突击两个月拿个一等奖,行吗?
答:如果孩子不是神,最好别做这样的打算。如果孩子是个公认的准天才,又不想在信息学竞赛上花太多时间和精力,可以花6个月冲一下省一试试。但如果孩子仅仅是聪明,最好做一个靠谱的计划,比如花一年时间冲省一,或者两年时间进国赛等。毕竟,每一位家长看自己的孩子都是神。
不同竞赛之间可并可转吗?
1、问:可以同时参加几门学科竞赛吗?
答:可以是可以,但要看孩子的自身条件和时间精力。很多孩子信息强,其他学科也强。因为学信息学,本身就可以锻炼逻辑思维,提升学习能力。
2、问:已经学了奥数还能转学信息学吗?
答:完全可以。很多孩子学习奥数一段时间后,终于意识到竞争太激烈,于是转到信息。数学是所有科学的基础,奥数强的孩子转到信息后,很容易过五关斩六将,成功冲击金牌。事实上,走信息学竞赛路线的孩子,我们一般也要求有扎实的数学基础。
1、问:信息学竞赛在哪报名?
答:一般是通过学校进行报名,可以联系自己学校的班主任或者信息老师进行报名。
2、问:在哪能查到自主招生信息?
答:可以登录”阳光高考平台”,或者大学官网查询自主招生简章。
3. 学习方式有哪些?
答:一般参加信息学竞赛的同学都是学校老师带领,也有一部分同学选择自学的方式,当然假期时间也需要参加各种训练营来帮助迅速提高竞赛水平。
首先声明:以下内容针对初学者,只是列出一个大概的框架,不属于自学方法,有条件有能力,请找一位好老师来教,多跟前辈交流经验。(否则多会出现事倍功半的悲剧!)
一、初赛内容
初赛偏重于基础知识。
1. 一部分是计算机的基础知识。
计算机基础部分,内容多而杂,多以选择题形式出现,所以不必要花太多时间去背,而是平时多积累,有意识的去记忆,留下印象。内容会包括计算机的特征(硬件和软件)、网络的特征和基本概念、信息的输入输出、信息的表示和处理、新兴应用等。
1. 另一部分是数学内容
范围很广,永远不知道会考到哪一部分的知识点,但试卷包括两道数学题,所以不能忽视。比较重要的大概包括排列、组合、辗转相除法、容斥原理等。
1. 数据结构
数据结构会考基本类型(整型、长整型、浮点型、字符等)和数组。比较容易在初赛中出现的数据类型有树、栈、队列等。树:二叉树、完全树等;栈:先进后出特点;队列:先进先出特点。
1. 最后一部分是程序完成(也就是算法)。
这部分完全是靠你的做题基础,没有捷径,只能靠你平时多做题,掌握简单算法。
下面是小编整理的比较常见的实用算法:
1. 模拟算法
2. 贪心方法
3. 数论算法
4. 图论算法
5. 动态规划(分析:背包问题)
6. 分治算法
7. 搜索算法(fx:暴搜——枚举、打表、加剪枝(剪枝以排序、可行性剪枝和暴力剪枝为主。))
更具体的算法总结,还是去买相关算法书籍来看,再有就是多刷题练手。
1. 语言!
初试形式为笔试,编程使用的语言为pascal、C、 C++中的一种或多种,三种语言在noip中的使用差距并不明显。在掌握算法和数据结构后,换语言如同换衣服。
二、初赛试卷形式
1、选择题:共20题,每题1.5分,共30分。每题有4个备选答案。试题内容包括计算机基本组成与原理、计算机基本操作、信息科技与人类社会发展的关系等等。(普及组为20道单选题,提高组为10道单选题和10道不定项选择题,不定项选择题与答案完全一致才得分,多选或少选均不得分)
2、问题求解题:共2题,每题5分,共10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。答案以字符串方式给出,考生给出的答案与标准答案的字符串相同,则得分;否则不得分。
3、程序阅读理解题:共4题,每题8分,共32分。题目给出一段程序(没有关于程序功能的说明),有时也会给出程序的输入,要求考生通过阅读理解该段程序给出程序的输出。输出以字符串的形式给出,如果与标准答案一致,则得分;否则不得分。
4、程序完善题:共2题,每题14分,共28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对的,则得分;否则不得分。
一、确定你的语言
NOIP包括三种语言c/c++/pascal,在最初必须确定自己使用的语言。没有c/c++基础的,个人建议使用pascal,因为它更容易上手,如果有充裕的时间,则建议c/c++,因为它们对你今后的程序编写,更有益处。
二、从排序入手
排序是基础中的基础,快速排序是必备本领,方法就是背下来。c/c++是自带快排的,因此很轻松。多关键字排序和稳定排序也是必须掌握的排序知识。
三、贪心和穷举以及模拟——最简单的程序
想得奖,必须掌握贪心和穷举以及模拟,虽然不能让你得满分,但可以给你拿到30-60分。它们是你想不出更好算法时的救命稻草。
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。但是贪心是可以得分的。
枚举算法是指,列举出所有可能的取值,从中找出最优解。
模拟算法是指,通过逐步进行操作、逐步判断来推断是否符合题目中所给出的情况。非常耗时,一般不可能得到最优解,但是可以得到部分分数。
四、用动态规划来训练思维
比较难,对思维的周密程度和逻辑要求非常高。可以用来训练思维,对于学习时间短的筒子,动态规划可以帮助你迅速进入编程状态,也有助于帮你发现题目背后可能隐藏的更简便的算法。
动态规划主要的思考规律应该如下:
定义函数(动态转移方程中转移量的定义)——>建立方程——>确定初值和边界
温馨提示:考场上想不到动态转移方程,请选择贪心、枚举或模拟等方法来获得部分分数。动态规划最后得出的答案不正确时,也不要耗费大量时间来找出错误,因为这非常难,也非常耗时间,得不偿失。
五、学习简单的图论
包括:(单源或多源)最短路和(最小)生成树。
最短路中需要学习Dijkstra算法和Floyd算法。近年来图论题目越来越难,知识点越来越多,所以时间不够,请掌握这两种。
最小生成树需要掌握Prim算法和Kruskal算法。前者适用于稠密图,后者适用于疏密图。两者可以比较学习,看到它们的优点和不足。
六、常用的数据结构——让程序更快一点
最常用到的是堆(优先队列)、并查集以及树状数组堆。
堆:只关注“直系亲属关系”,不关注“旁系”。常配合贪心使用。
并查集:快速判断两个元素是否有关联,增加其他算法,还可判断元素间关系。
树状数组堆:平衡查询和修改的操作复杂度的一种算法,常用于解决需要查询和修改的问题。
七、搜索——和枚举很像
深度优先搜索和广度优先搜索。
深度优先搜索:一条路走到底。
广度优先搜索:每一步将下一步的可能性放入队列中,然后按照队列顺序来探测。
复赛中往往会加入很多复杂的元素,所以也需要好好掌握。
八、最后列一下一定要学习的数学基础知识
快速幂、高精度、筛法选素数、辗转相除法
九、必要的刷题
信息学竞赛的题库在网上随处可见如TYVJ,RQNOJ,洛谷,大视野测评等,为了方便大家寻找到适合自己的题库,我们会在今后的推送内容中对当今网络上一些题库进行专业的分析,帮你找到适合自己的题库。
助您
壹牛成功 祝您
【壹牛高考|龙爸聊学】之高考院校、专业及热点话题合集