全国青少年信息学奥林匹克竞赛(英文名National Olympiad Informatics,简称NOI)是由中国计算机学会(China Computer Federation,简称CCF)于1984年创办的面向青少年的信息学竞赛。[1][2]
1984年中国计算机学会创办全国青少年计算机程序设计竞赛。1990年正式更名为全国青少年信息学奥林匹克竞赛。[1]1984年-2023年间,已经举办了40届,历年比赛大多集中在7月-8月举行。[3]NOI试题命制涉及C++程序设计、数据结构、算法、数学与其他四个方面。[4]奥林匹克竞赛国家集训队成员具备高校保送资格。[5][6]获得全国决赛二等奖及以上奖项的考生,审核通过后可以破格入围高校“强基计划”。[7][8]
历史沿革
1984年邓小平指出:“计算机的普及要从娃娃做起。”中国计算机学会于1984年创办全国青少年计算机程序设计竞赛,当年参加竞赛的有8000多人。这一活动形式受到党和政府的关怀,得到社会各界的关注与支持。时任中央领导王震同志出席了首届竞赛发奖大会,并对此项活动给予了充分肯定。[2]1990年正式更名为全国青少年信息学奥林匹克竞赛(National Olympiad Informatics,简称NOI)。[1]
竞赛宗旨
全国青少年信息学奥林匹克竞赛旨在向那些在中学阶段学习的青少年普及计算机科学知识;给学校的信息技术教育课程提供动力和新的思路;给那些有才华的学生提供相互交流和学习的机会;通过竞赛和相关的活动培养和选拔优秀计算机人才。[2]
承办情况
1984年-2023年间,已经举办了40届全国青少年信息学奥林匹克竞赛,在北京、杭州、长沙、绍兴、成都、绵阳等多个城市均有举办。[3]
以2023年为例,7月22 -28日在成都举行第40届全国青少年信息学奥林匹克竞赛(CCF NOI 2023),共有来自全国31个省市自治区的师生参加,最终产生金牌52枚、银牌150枚、铜牌77枚。[9]
2024年-2026年,预计将在重庆、绍兴和青岛举办。[3]
| 届数 | 年份 | 举办城市 | 承办单位 |
| 1 | 1984 | 北京 | 北京师范大学附属实验中学 |
| 2 | 1985 | 杭州 | 杭州 |
| 3 | 1986 | 北京 | 清华大学 |
| 4 | 1987 | 潍坊 | 潍坊、青岛 |
| 5 | 1988 | 北京 | 清华大学附属中学 |
| 6 | 1989 | 惠州 | 惠州 |
| 7 | 1990 | 北京 | 以通讯方式进行竞赛 |
| 8 | 1991 | 厦门 | 厦门一中 |
| 9 | 1992 | 北京 | 清华大学 |
| 10 | 1993 | 太原 | 太原工业大学 |
| 11 | 1994 | 北京 | 清华大学 |
| 12 | 1995 | 南京 | 中国人民解放军通信工程学院 |
| 13 | 1996 | 上海 | 杨浦区人民政府、复旦大学、上海理光传真机有限公司 |
| 14 | 1997 | 香港 | 香港电脑学会 |
| 15 | 1998 | 杭州 | 浙江省科协、杭州青少年活动中心 |
| 16 | 1999 | 北京 | 北京市科学技术协会、北京市教育委员会、北京市科学技术委员会、北京计算机学会 |
| 17 | 2000 | 澳门 | 澳门电脑学会 |
| 18 | 2001 | 西安 | 西北大学计算机科学系、陕西省计算机学会、陕西省科协 |
| 19 | 2002 | 天津 | 天津经济技术开发区管委会、天津市科学技术协会、天津市教育委员会 |
| 20 | 2003 | 上海 | 复旦大学附属中学 |
| 21 | 2004 | 长沙 | 长沙市长郡中学 |
| 22 | 2005 | 郑州 | 河南省实验中学 |
| 23 | 2006 | 绵阳 | 绵阳南山中学 |
| 24 | 2007 | 福州 | 福州第一中学 |
| 25 | 2008 | 绍兴 | 绍兴一中 |
| 26 | 2009 | 北京 | 北京市科协信息中心、北京市第八十中学 |
| 27 | 2010 | 烟台 | 山东省科学技术协会、山东省计算机学会、烟台经济技术开发区高级中学 |
| 28 | 2011 | 长春 | 吉林大学、吉林省计算机学会、东北师范大学附属中学 |
| 29 | 2012 | 常州 | 常州高级中学 |
| 30 | 2013 | 成都 | 电子科技大学 |
| 31 | 2014 | 深圳 | 深圳外国语学校 |
| 32 | 2015 | 杭州 | 杭州学军中学 |
| 33 | 2016 | 绵阳 | 绵阳南山中学 |
| 34 | 2017 | 绍兴 | 绍兴市第一中学 |
| 35 | 2018 | 长沙 | 长沙市雅礼中学 |
| 36 | 2019 | 广州 | 广州市第二中学 |
| 37 | 2020 | 长沙 | 长沙市第一中学 |
| 38 | 2021 | 余姚 | 浙江省余姚中学 |
| 39 | 2022 | 昆山 | 华东师范大学第二附属中学 |
| 40 | 2023 | 成都 | 成都第七中学 |
| 41 | 2024 | 重庆 | 重庆市育才中学校 |
| 42 | 2025 | 绍兴 | 绍兴市第一中学 |
| 43 | 2026 | 青岛 | 青岛市城阳第一高级中学 |
参考资料:[3]
参赛要求
选手按照学籍所在学校为单位报名各省组织的NOI省选,经过省级选拔的选手可以参加NOI。省选方式由各省自行确定。省选方案均须经省竞赛委员会和技术委员会讨论通过,报CCF审查,审查通过后向全体选手和学校公布并实施。[10]NOI系列活动参赛资格仅限于高中生。[11]
参赛组别
A类选手为省队基本选手,B类选手为激励名额选手,A、B两类选手均需参加省选。对CCF有重大贡献的单位或个人,可通过申请获得奖励名额(C类)。NOI期间举办夏令营,选手可自选参加(D、E类),营员可以非正式选手身份观摩参赛。各类别名额每年可能会存在细微差别,具体情况见每年官方网站公布的名额分配方案。以NOI 2024为例,A类名额共160名。B类名额共130名。[12]
参赛时间
历年比赛大多集中在7月-8月举行。[3]NOI的竞赛分为两场,每场竞赛的时间为5小时。两场竞赛之间应间隔一天。[13]
比赛环境
NOI是上机比赛,自2021年9月1日起,NOI Linux 2.0版(Ubuntu-NOI 2.0版)作为NOI系列比赛的标准环境使用。[14]

考场环境
全体参赛选手分布在不超过4个相距30米之内的竞赛场地。每位参赛选手拥有面积不小于1.5M2的工作场地和正面面宽不小于0.8M的工作台,独立使用一台配备有规定的操作系统和编程工具的计算机。
竞赛组织者将在竞赛场地为选手提供草稿纸、饮水、以及必要的食品。[13]
竞赛大纲
根据《全国青少年信息学奥林匹克系列竞赛大纲》,NOI试题命制涉及C++程序设计、数据结构、算法、数学与其他四个方面。C++ 程序设计考核面向对象的程序设计思想(OOP)。数据结构考核线性结构、序列、复杂树、可合并堆和可持久化数据结构。算法考核算法策略、字符串算法、图论算法和动态规划。数学和其他考核初等数论、离散与组合数学、线性代数、高等数学、概率论、博弈论、最优化、计算几何、信息论和其他。[4]
题目类型
1、非交互式程序题
非交互式程序题要求选手提交答案程序的源文件。该程序从一个正文文件中读入数据,并向指定的输出文件中写入计算结果。非交互式程序题的题面包括下列内容:求解问题的描述,输入文件名和输出文件名(可以是标准输入/输出),输入数据格式、输出数据格式、以及输入数据范围,对程序使用计算资源的限制,以及其它可能的限制。[13]
2、交互式程序题
交互式程序题要求选手提交答案程序的源文件。该程序通过调用所提供的库函数实现数据的输入和输出。交互式程序题的题面包括下列内容:求解问题的描述,库函数的功能、函数原型、以及获取和链接方式,输入数据格式、输出数据格式、以及输入数据范围,程序使用计算资源的限制,以及其它可能的限制。[13]
3、答案提交题
答案提交题不要求选手提交程序的源文件。选手需要按题目要求,根据给定的输入数据文件生成一组输出数据文件。该组数据文件既可以是由选手的程序输出的,也可以是由选手手工构造的。当选手使用自行设计的程序生成题目答案时,其所使用的程序不应提交。答案提交题的题面包括下列内容:求解问题的描述,输入数据格式、输出数据格式,输入数据文件的获取方法。[13]
例题
以2023年的考试为例,NOI 2023 共包括两试 6 道题目。其中,第一试题目依次为:方格染色(color)、桂花树(tree)、深搜(dfs);第二试题目依次为:贸易(trade)、字符串(string)、合并书本(book)。全部题目所涉及的主要知识点统计如下。[15]

赛前练习
选手在正式竞赛前应有不少于2个小时的练习时间,以熟悉竞赛场地、设备和软件环境、以及答案提交方式。竞赛前的练习应安排在第一场竞赛的前一天。在赛前练习结束后,应安排不少于30分钟的时间进行标准化笔试题的测试。[13]
标准化笔试
标准化笔试题包含单选题、多选题和填空题,题目涉及的内容包括计算机和编程的基本知识、NOI竞赛所使用的操作系统、编程工具等的使用方法,以及基本竞赛规则。标准化笔试题的成绩计入选手竞赛的总成绩。[13]
评测和成绩发布
除另有说明者外,选手提交的程序设计题将在Linux系统上使用下列编译命令进行编译:
C程序: cc -static -o <程序名> <程序名>.c -lm
C++程序:g++ -static -o <程序名> <程序名>.cpp -lm
Pascal程序:/usr/local/bin/ppc386 -XS -o<程序名>c <程序名>.pas
未能通过编译并正确生成可执行文件的程序在该题目上不得分。能够通过编译并正确生成可执行文件的程序将在与选手编程环境相同的系统平台上,在题面规定的限制条件下运行和评测。对于程序设计题,选手答案的得分将取决于结果的正确性、算法的效率、以及程序运行的效率。评测将使用多个测试点,以区分选手答案的正确程度和效率。在正确性和效率方面都符合题目要求的答案将获得该题目的满分。算法和程序实现正确,但效率较低的答案也可能在若干测试点因超时而无法获得分数。
选手的程序必须在程序执行结束时显式地返回0。返回其它值的程序将被认为是结果不正确,并因此不能得分。
对于答案提交题,只对选手答案的正确性进行评测。
评测结果将在竞赛结束后150分钟之内,以成绩单的形式发给选手所在队的领队签收。成绩单上将标出选手各题在每个测试点上的得分,以及未得满分的测试点的错误信息,参见附录。选手每道题的得分为其在该题各个测试点上的得分之和。选手每天的得分为其在当天各道题上的得分之和。[13]
复测
选手在接到成绩单后可以在规定的时间之内,在其竞赛时使用的计算机上对其答案进行复测。选手在竞赛结束时所提交的答案依然保存在题目所规定的文件目录中,复测所需的测试数据和答案在复测开始前将被下发到选手计算机上指定的文件目录中。
复测时,选手可以和领队或其他队员进行讨论,但不得妨碍其他队的队员的复测活动。[13]
申诉
复测完毕后,竞赛选手对于评测成绩有异议的,可向科学委员会提出申诉。申诉须在复测结束后3小时之内,由竞赛选手本人提出。提出申诉的竞赛选手须按规定填写申诉表,由本队领队签字后提交给现场评测人员或科学委员会成员。
申诉必须依据竞赛选手本人在竞赛时提交的程序或答案以及在复测时获得的结果提出。[13]
申诉的受理
科学委员会在接到选手的申诉后应及时研究,并决定是否受理。对于受理的申诉,科学委员会应尽快做出处理,并使用申诉处理表将处理结果书面告知申诉人。对于改变了选手得分的申诉处理,科学委员会在处理完毕后应向申诉人发放新的成绩单,并按新的得分计算申诉人的竞赛成绩。
对于不受理的申诉,科学委员会应在选手提交的申诉表中注明拒绝受理的理由,并尽快将申诉表退还申诉人。申诉人如对科学委员会不受理的决定有异议,并有新的理由和证据的,可以再次提出申诉。
下列申诉将不被受理:
以修改过的程序或答案为依据的,没有复测结果支持的,超过申诉时间的。
对评测结果中的超时有异议,且复测结果的运行时间与题目时间限制之差小于题目时间限制5%的。
对于以修改过的程序或答案为依据提出申诉并且声称依据原始程序或答案的,一经查实,将对申诉人及其领队给予警告。情节严重者将取消申诉人当天的竞赛成绩。[13]
获奖规则
每一年的NOI获奖规则可能会存在细微差别,具体可参考官网网站的信息。下面以NOI 2023获奖规则为例。
CCF NOI科学委员会确定了NOI 2023获奖规则。[16]
1. NOI 2023总获奖率为85%
奖牌分数线根据ABC类选手划定。在计算分数线时,所有A类选手自动获得5分加分,其余类别选手无加分。选手按分数由高到低排序,根据下述获奖规则确定奖牌分数线(A类选手加分仅用于分数线划定,其实际成绩仍为原始分数)。
2.金牌
按照成绩,取前50名选手为金牌。符合条件,且在金牌分数线上的同分选手将并列获得金牌。排在前50名的选手将入选国家集训队;如第50名同分,则根据省选成绩择优选取;如仍出现同分情况,则低年级选手优先。其余未尽情形由NOI科学委员会做出决定。
3.银牌
在金牌分数线下,按照成绩,从高到低依次取150名选手为银牌。边界上同分选手将并列获得银牌。
4.铜牌
在金、银牌分数线下,按照成绩高到低,依次取获奖选手总数不超过85%的选手分数为铜牌分数线。边界上同分选手将并列获得铜牌,但获奖选手两场机试成绩之和不得低于100分。
5.其他选手
夏令营(D、E类)体验选手可获得成绩证明,无获奖证书,其成绩证明参照NOI选手金银铜牌分数线进行说明。
6.关于资格的说明
以全国赛正式注册日(7月22日24点)前提供的身份证明和学籍证明为准,任何不符合规定或不实的信息将导致被取消参赛资格。
获得IOI金牌的选手不得以正式选手身份再次参加NOI;如选手已入选省队,其所在省NOI省队人选将根据省选成绩依次递补。[16]
竞赛保送
根据教育部等部门有关规定,中学生学科奥林匹克竞赛国家集训队成员具备高校保送资格。[5][6]在全国青少年信息学奥林匹克竞赛中获得符合教育部规定的具有保送生资格的优秀应届高中毕业生可保送清华大学和北京大学。[17][18]
在全国青少年信息学奥林匹克竞赛中获得全国决赛二等奖及以上奖项的考生,审核通过后可以破格入围清华大学、北京大学、北京航空航天大学等教育部基础学科招生改革试点高校“强基计划”。[19][20][21]
相关竞赛
NOIP:全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces简称NOIP)自1995年至今。每年由中国计算机学会统一组织。 NOIP在 同一时间、不同地点以各省市为单位由特派员组织。[2]
APIO: 亚洲与太平洋地区信息学奥赛(Asia Pacific Informatics Olympiad)简称(APIO)2007年创建,该竞赛为区域性的网上准同步赛,是亚洲和太平洋地区每年一次的国际性赛事。[2]
IOI: 出国参加国际信息学奥林匹克竞赛(International Olympiad in Informatics)简称(IOI)。由中国计算机学会组织代表队,代表中国参加国际每年一次的IOI。中国是IOI创始国之一。[2]
CSP-J/S:CCF非专业级软件能力认证(Certified Software Professional Junior/Senior,简称CSP-J/S)创办于2019年,是由CCF统一组织的评价计算机非专业人士算法和编程能力的活动。在同一时间、不同地点以各省市为单位由CCF授权的省认证组织单位和总负责人组织。[2]
出版物
《全国信息学奥林匹克年鉴》系列图书由中国计算机学会主编,包括大事记、NOI组织机构赛事成绩单、NOI系列活动试题与解题报告等内容。[22]



参考资料 22
- 全国青少年信息学奥林匹克竞赛(NOI) — 中国计算机学会
- 全国青少年信息学奥林匹克竞赛系列活动简介 — 全国青少年信息学奥林匹克竞赛官网
- NOI承办情况 — 全国青少年信息学奥林匹克竞赛官网
- 参考 4
- http://www.moe.gov.cn/srcsite/A15/moe_776/tslxzs/202311/t20231110_1090010.html
- 2024年高校部分特殊类型招生工作答记者问 — 教育部网站
- “强基计划”:拔尖创新人才培养新路径 — 教育部网站
- “强基计划”第四年,有何新变化 — 中华人民共和国教育部
- 小键盘构建大世界——NOI 2023顺利举行 — 全国青少年信息学奥林匹克竞赛
- CCF关于NOI 2024省内选拔的若干规定 — 全国青少年信息学奥林匹克竞赛
- CCF关于NOIP 2023报名的通知 — 全国青少年信息学奥林匹克竞赛
- NOI 2024名额分配方案 — 全国青少年信息学奥林匹克竞赛
- NOI竞赛规则 — 全国青少年信息学奥林匹克竞赛
- NOI Linux 2.0发布,将于9月1日起正式启用! — 全国青少年信息学奥林匹克竞赛
- NOI 2023 题目知识构成分析报告 — 全国青少年信息学奥林匹克竞赛官网
- NOI 2023获奖规则 — 全国青少年信息学奥林匹克竞赛官网
- 清华大学2023年竞赛类保送生招生简章 — 清华大学本科生招生网
- 北京大学2023年学科竞赛保送生招生简章 — 北京大学招生网
- 清华大学2023年强基计划招生简章 — 清华大学本科生招生网
- 北京大学2023年强基计划招生简章 — 北京大学招生网
- 北京航空航天大学2023年强基计划招生简章 — 北航招生网
- 2021 NOI年鉴即日起接受订购 — 全国青少年信息学奥林匹克竞赛