OI 赛事与赛制
赛事简介
信息学奥林匹克竞赛(英语:Olympiad in Informatics,简称:OI)是一门在中学生中广泛开展的学科竞赛,和物理、数学等竞赛性质相同。OI 考察的内容是参赛者运用算法、数据结构和数学知识,通过编写计算机程序解决实际问题的能力。
OI 竞赛种类繁多,仅中国就包括:
- 全国青少年信息学奥林匹克联赛(NOIP)
- 全国青少年信息学奥林匹克竞赛(NOI)
- 全国青少年信息学奥林匹克竞赛冬令营(WC)
- 国际信息学奥林匹克竞赛中国队选拔赛(CTSC)
国际性的 OI 竞赛包括:
- 国际信息学奥林匹克(IOI)
- 美国计算机奥林匹克竞赛(USACO)
- 日本信息学奥林匹克(JOI)
亚太地区信息学奥林匹克(APIO)
……
对于大部分选手而言,每年的新赛季从 9 月的 CSP-J/S 第一轮开始。
在中国,OI 竞赛允许使用的语言只有 C++(曾经也开放过 C 和 Pascal 语言,但都已停止支持)。其中,不同的竞赛对 C++ 的版本有不同的规定。考试题目一般为算法或者数据结构相关的内容,题目形式包括传统题(最常见的规定输入和输出到文件的题目)和非传统题(提交答案题、交互题、补全代码题……等等)。
赛制介绍
OI 赛制
选手仅有一次提交机会。比赛时无法看到评测结果,评分会在赛后公布。每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数;每个测试点还可能会有部分分,即使只有部分数据通过也能拿到分数。
CSP-J/S 第二轮、NOIP、省选、NOI 都是 OI 赛制。
IOI 赛制
选手在比赛时有多次提交机会。比赛实时评测并返回结果,如果提交的结果是错误的,不会有任何惩罚。每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数。
APIO、IOI 都是 IOI 赛制。目前国内比赛也在逐渐向 IOI 赛制靠拢。
Codeforces (CF) 赛制
Codeforces 是一个在线评测系统,会定期举办比赛。
它的比赛特点是在比赛过程中只测试一部分数据(Pretests),而在比赛结束后返回完整的所有测试点的测试结果(System Tests)。比赛时可以多次提交,允许 Hack 别人的代码(此处 Hack 的意思是提交一个测试数据,使得别人的代码无法给出正确答案)。如果想要 Hack,选手必须要锁定自己的代码(换言之,比赛时无法重新提交该题)。Hack 时不允许将选手程序拷贝到本地进行测试,源代码会被转换成图片。
Codeforces 同时提供另外一种赛制,称作扩展 ICPC(Extended ICPC 或 ICPC+)。在这一赛制中,在比赛过程中会测试全部数据,但比赛结束以后会有 12 小时的全网 Hack 时间。Hack 时允许将选手程序拷贝到本地进行测试。
主要比赛
CSP-J/S
CSP-J/S(英文:Certified Software Professional Junior/Senior)是 NOIP 在 2019 年被取消之后,CCF 开设的非专业级软件能力认证测试,面向全年龄段。
CSP-J/S 分为入门级(Junior,简写为 CSP-J)与提高级(Senior,简写为 CSP-S)两组,赛程分为第一轮(一般在每年 9 月)和第二轮(一般在每年 10 月)两场。第一轮为笔试,考察计算机理论和操作常识和基本的算法与数学知识;第二轮为上机考试,入门组与提高组都为 4 题,其中入门组考试时间 3.5 个小时,提高组 4 个小时(CSP-S 2019 除外,该场比赛使用旧 NOIP 提高组赛制,赛程分为两天,一天 3 题 3.5 小时)。第一轮面向社会全体学生报名,经过一定的排名筛选后成绩优秀者有机会参加第二轮。
报名参加第一/二轮、第二轮后进行题目申诉等都需要向 CCF 缴费。
两轮测试都会以省为单位按照排名对选手成绩进行评级认证,分为一、二、三等。
NOIP
NOIP(英语:National Olympiad in Informatics in Provinces,中文:全国青少年信息学奥林匹克联赛)是中华人民共和国组织的、面向中国(含港澳)中学生的信息学竞赛。
2018 年及以前的旧赛制:NOIP 按参赛对象分为普及组和提高组,2018 年于上海试点入门组;按阶段分为初赛和复赛两个阶段。初赛会考察一些计算机基础知识和算法基础,复赛为上机考试。时间上一般是 11 月的第二个周末,周六上午提高组一试 8:30-12:00(3.5 小时,共 3 题),下午 14:30-18:00 普及组(3.5 小时,共 4 题),周日上午提高组二试 8:30-12:00(3.5 小时,共 3 题)。全国使用同一套试卷,但是评奖规则按照省内情况由 CCF(中国计算机学会)统一指定,并于赛后在 NOI 官方网站 上公布。各省的一等奖分数线略有不同。
NOIP 于 2019 年 8 月 16 日 被 CCF 暂停,于 2020 年 1 月 21 日 被宣布恢复。2020 年起的 NOIP 赛制与以往有所不同,具体如下:
- 取消初赛,由 CSP-J/S 第一轮替代;
- 取消普及组,由 CSP-J 替代,此后 NOIP 仅有一个组别,面向提高组水平选手;
- 赛程由以往的两天共 6 题、每天 3.5 个小时,缩减为一天 4 题、共 4.5 个小时。
- 选手需要在 CSP-S 第二轮中取得一定名次才能获得 NOIP 参赛资格,具体名额各省有所差异。NOIP 省级参赛资格由该省在去年赛季中的参赛人数和成绩等有关。
报名参加 NOIP 和进行题目申诉不需要额外缴费。
NOIP 以省为单位排名评奖。截至 2019 年,大部分高校的选手获得提高组省一等奖可以得到自主招生资格。
2020 年 1 月,中华人民共和国教育部发布 关于在部分高校开展基础学科招生改革试点工作的意见。意见指出,2020 年起,不再组织开展高校自主招生工作,并在部分一流大学建设高校开展基础学科招生改革试点(强基计划)。
省队选拔赛
省队选拔赛(简称:省选)用于选拔各省参加全国赛的代表队,一般举行于每年的 1~4 月。赛程上一般分为两天,每天 3 题 4.5 小时。
省选题目由各个省自行决定,目前的趋势是很多省份选择联合命题。
各个省队的名额有复杂的计算公式,一般和之前的成绩和参赛人数有关。通常来讲,NOIP 分数需要在省选的指标中占一定比例。根据规则,初中选手只能被选拔为 E 类选手,不能参加 A、B 类选拔。A 类选手有 5 人(4 男 1 女),其他选手根据给定名额和所得分数依次进入 B 队。一个学校参加 NOI 的名额不超过本省 A、B 名额总数的三分之一(四舍五入),得分最高且入选 A 队的女选手不占该比例(简称 ⅓ 限制或 ⅓ 淘汰)。
自 2020 年起,NOI 省队选拔由 CCF 统一命题和评测,有能力命题的省可自行命题,但选拔方式需得到 CCF 的批准。自 2024 年起,NOI 省队选拔恢复各省自主命题,有需求的省份可组织联考或使用他省试题,但具体方案需要得到 CCF 的批准。
NOI
NOI(英文:National Olympiad in Informatics,中文:全国信息学奥林匹克竞赛)是国内包括港澳在内的省级代表队最高水平的大赛。
NOI 一般在七月份举行,选手分为正式选手与夏令营选手两类。正式选手又分为三类,其中 A、B 类为省队正式选手,C 类选手为邀请赛选手。A、B 类对应省队的 A、B 类选手(其中 A 类在计算成绩时会有 5 分加分);C 类名义上是学校对 CCF 做出突出贡献后的奖励名额。夏令营选手分为 D、E 类,分别对应以非正式选手身份参赛的高中组与初中组选手。夏令营选手如果成绩超过分数线的话,只有成绩证明而没有奖牌(同等分数含金量要低一些)。排名前 60 的正式选手组成国家集训队,获得保送资格。
在国际平台上,为了与其他同样称作 NOI 的比赛区分,有时会被称作 CNOI。
WC
WC(英文:Winter Camp,中文:全国青少年信息学奥林匹克竞赛冬令营)是每年冬天在当年 NOI 举办地进行的一项活动。
WC 的内容包括若干天的培训和一天的考试。这项考试主要用于从国家集训队(50 人)选拔国家候选队(15 人),但是前一年 NOIP 与 CSP-S 第二轮取得较好成绩的选手也可以参加(不参与选拔)。
APIO
APIO(英文:Asia-Pacific Informatics Olympiad,中文:亚太地区信息学奥林匹克竞赛)是一个面向亚太地区在校中学生的信息学学科竞赛。CCF 每年会在五月初举办中国赛区镜像赛。在比赛日前后会有培训活动。
CTS
CTS(旧称:CTSC, 英文:China Team Selection Competition,中文:国际信息学奥林匹克竞赛中国队选拔赛)用来从国家候选队(15 人)中选拔国家队(6 人)准备参加当年夏天的 IOI 比赛,其中正式选手 4 人,替补选手 2 人。与 WC 一样,前一年 NOIP 取得较好成绩的选手也可以参加(不参与选拔)。
APIO 和 CTS 都以省为单位报名,一般按照 NOIP 的成绩排序来确定参加 APIO 和 CTS 的人员(二者一般时间上非常接近)。
IOI
IOI(英文:International Olympiad in Informatics,中文:国际信息学奥林匹克竞赛)是一年一度的面向全球中学生的信息学科竞赛。每个国家有四人参赛,比赛一般会有直播。IOI 赛制中每个题目会有 Subtask(子任务),每个子任务对应一定的分数。
学科营
北京大学(PKU)
- 北京大学信息学冬季体验营(PKUWC):在冬令营前后举行。
- 北京大学信息学体验营(PKUSC):一般在六月份在校内举行。由于在学校机房比赛,机房环境是 Windows,比赛系统是 OpenJudge。
- 北京大学中学生暑期课堂(信息学):在暑假举行,面向高二年级理科学生。
清华大学(THU)
- 计算机系 "大中衔接" 冬季研讨与教学活动:相当于信息学冬令营,有时也会用英文简写为 THUWC。一般共两天,上午为竞赛(第一天是标准 OI 竞赛,第二天为清华独创的 "工程题" 竞赛),下午为课程培训。
其他国家和地区的 OI 竞赛
美国:USACO
USACO 或许是国内选手最熟悉的外国 OI 竞赛(可能也是中文题解最多的外国 OI 竞赛)。
每年冬季到初春,USACO 会每月举办一场网络赛。一场比赛持续 3~5 个小时。
根据官网的介绍,USACO 的比赛分成这 4 档难度(2015~2016 学年之前为 3 档):
- 铜牌组,适合编程初学者,尤其是只学了最最基础的算法(如:排序,二分查找)的学生;
- 银牌组,适合开始学习基本的算法技巧(如:递归,搜索,贪心算法)和基础数据结构的学生;
- 金牌组,学生会遇到更复杂的算法(如:最短路径,DP)和更高级的数据结构;
- 铂金组,适合有着扎实的算法设计能力的选手,铂金组可以帮助他们以复杂且更开放的问题来挑战自我。
在国内,目前 USACO 题目最齐全的 OJ 平台是洛谷。
波兰:POI
官网地址:https://oi.edu.pl/
官方提交地址:https://szkopul.edu.pl/p/default/problemset/
POI 是不少省选选手最常刷的外国 OI 比赛。
根据 http://main.edu.pl/en/ 的描述,POI 的流程如下:
- 第一轮:五题,网络赛,公开赛;
- 第二轮:包含一场练习赛,和两场正式比赛;
- 第三轮:赛制同上。
- ONTAK:POI 训练营(类似国内的集训队)。
另有 PA,大意为「算法大战」。
目前在国内 OJ 中,POI 题目最全的是 BZOJ。
克罗地亚:COCI
官网地址(英文):http://www.hsin.hr/coci/
官网地址(克罗地亚语):http://www.hsin.hr/honi/
难度跨度很大的比赛,大约是从普及 - 到省选 -。
以往 COCI 所有的题目均提供题目、数据、题解和标程。2017 年底起,COCI 的题解和标程停止了更新。2019-2020 赛季重新开始更新题解和标程。
洛谷、BZOJ 和 LibreOJ 都有少量的 COCI 题目。
日本:JOI
JOI(日文:日本情報オリンピック,中文:日本信息学奥赛)所有的题目都提供题目、数据、题解和标程。近两年的 JOI 决赛和春训营提供了英语题面,但并没有英语题解。历年的 JOI Open 都提供了英语版题面和题解。
JOI 的流程:
- 预赛(予選)
- 决赛(本選/JOI Final)
- 春训营(春季トレーニング合宿/JOI Spring Camp/JOISC)
- 公开赛(通信教育/JOI Open Contest)
预赛难度较低,自 2019/2020 赛季起,预赛分为多轮。JOI Final 的难度从提高 - 到 提高 + 左右。JOISC 和 JOI Open 的题目的难度从提高到 NOI - 不等。
绝大部分 JOI 题可以前往 AtCoder 提交。你可以在 JOI 官网或者 AtCoder 上找到更多的 JOI 题(日文题面)。
目前 LibreOJ 和 BZOJ 有近些年的 JOI Final、JOISC 和 JOI Open 的题目。
俄罗斯:ROI
官网地址:http://neerc.ifmo.ru/school/archive/index.html
在线提交地址:https://contest.yandex.ru/roiarchive/ 和 Codeforces(部分)。
ROI(俄文:олимпиадная информатика,中文:俄罗斯信息学奥赛)是俄罗斯的信息学竞赛。
流程:
- 市级比赛(Municipal Stage/Муниципальный этап)
- 州级比赛(Regional Stage/Региональный этап)
- 决赛(Final Stage/Заключительный этап)
目前 LibreOJ 有近几年的 ROI 决赛题的译文。
除此之外,俄罗斯较大型的、面向中学生的比赛还有:
- 信息学网络奥赛(俄文:Интернет-олимпиады по информатике)
- 官网地址:http://neerc.ifmo.ru/school/io/index.html
- 该比赛由 ROI 出题人举办。
- 全国中学生团队信息学竞赛(俄文:Всероссийской командной олимпиады школьников)
- 官网地址:http://neerc.ifmo.ru/school/russia-team/index.html
- 该比赛的预选赛 Moscow Team Olympiad 可以在 Codeforces 上提交。
- Innopolis Open
- 中学生编程公开赛(Открытая олимпиада школьников по программированию)
- 官网地址:https://olympiads.ru/zaoch/
- 官网称该比赛对标 ROI。
加拿大:CCC & CCO
CCC(英文:Canadian Computing Competition),CCO(英文:Canadian Computing Olympiad),可在其 官网 查询历届的信息和试题等。
在 DMOJ 上可以提交 CCC 和 CCO,该 OJ 上还有 CCC 题解。
CCC Junior/Senior 贴近 NOIP 普及组/提高组难度。CCO 想要拿到金牌可能得有 NOI 银牌的水平。
新加坡:NOI SG
官网地址:https://noisg.comp.nus.edu.sg/noi/
全称 Singapore National Olympiad in Informatics,在新加坡国内语境且不引起歧义的情况下也作 NOI。赛制上分为 Online Qualification Contest(在线资格赛)和 Final Contest(全国决赛)。在线资格赛以学校为单位报名参加,选手在本校参赛,通过网络进行远程提交。资格赛成绩只在校内排名,前 5 名且非零分选手有资格作为校代表队参加全国决赛。
目前国内 OJ 对于 NOI SG 的题目收录比较匮乏,可以在 官方的 GitHub 帐号 上找到历年题面、测试数据和官方标准程序。
台湾地区:資訊奧林匹亞競賽
台湾地区把 OI 中的 informatics 翻译成「資訊」而非大陆通用的翻译「信息」。
台湾地区的选手如果想参加 IOI,需要经过这几轮比赛:
- 區域資訊學科能力競賽
- 全國資訊學科能力競賽
- 資訊研習營(TOI)
其他国家
法国与澳大利亚:FARIO:http://orac.amt.edu.au/cgi-bin/train/hub.pl
- 难度与 NOI 类似。
英国:British Informatics Olympiad:https://www.olympiad.org.uk/
- 难度太低。
捷克:Matematická olympiáda–kategorie P:http://mo.mff.cuni.cz/p/archiv.html
罗马尼亚:Olimpiada Nationala de Informatica:http://olimpiada.info/
- 题面、测试数据、题解请在含有 Subiecte 字样的标签页中寻找。
其它国际 OI 竞赛
BalticOI
BalticOI 面向的是波罗的海周边各国。BalticOI 2018 的参赛国有立陶宛、波兰、爱沙尼亚、芬兰等 9 国。题目难度大。
除了 2017 年,BalticOI 每年都公开题面、测试数据和题解。BalticOI 没有一个固定的官网,每年的主办方都会新建一个网站。历年的官网地址见 帖子。
目前 LibreOJ 有近十年的 BalticOI 题。
BalkanOI
BalkanOI 面向巴尔干地区周边各国。BalkanOI 2018 的参赛国有罗马尼亚、希腊、保加利亚、塞尔维亚等 12 国。题目难度大。
BalkanOI 只有某几年公开题面、测试数据和题解,官网地址见 帖子。
CEOI
CEOI 2018 的参赛国与上面两个比赛有部分重叠,包括波兰、罗马尼亚、格鲁吉亚、克罗地亚等国。题目难度大。
CEOI 每年都公开题面、测试数据和题解,官网地址见 帖子。
在国内 OJ 中,BZOJ 的 CEOI 题相对最齐。
eJOI
eJOI 全名 European Junior Olympiad in Informatics。参赛国包含俄罗斯、亚美尼亚、保加利亚、波兰等国。题目难度较大。
eJOI 每年都公开题面、测试数据和题解,官网地址见 帖子。
ISIJ
ISIJ 全名 International School in Informatics "Junior",中文名「国际初中生信息学竞赛」。
NOI
Warning
此处介绍的不是「全国信息学奥林匹克竞赛」。
NOI 全名 Nordic Olympiads in Informatics。
官网地址:http://nordic.progolymp.se
近两年才开始举办的比赛,面向北欧各国。
参考资料
本页面最近更新:2024/2/28 14:15:28,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:NachtgeistW, StudyingFather, Xeonacid, Andycode3759, ChungZH, cjsoft, H-J-Granger, Ir1d, luoguyuntianming, Marcythm, Planet6174, YuzhenQin, YZircon, 255doesnotexist, abc1763613206, billchenchina, CCXXXI, countercurrent-time, EndlessCheng, Enter-tainer, HandwerSTD, hsfzLZH1, i-Yirannn, i-yyi, ksyx, ouuan, Plaaant6, real01bit, ShizuhaAki, SukkaW, Tiphereth-A, yanboishere
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用