OI 赛事与赛制
赛事介绍¶
OI 竞赛是一项全球的赛事,每年夏天会有世界级竞赛(IOI)举行,参赛选手大多都经过层层选拔。对于大部分选手而言,每年新赛季从 10 月的 NOIP(省级选拔赛)开始。
OI 竞赛中允许使用的语言包括 Pascal(NOI 将于 2020 年停止使用 Pascal,NOIP 将于 2022 年停止使用 Pascal),C 和 C++。其中 C++ 的版本不同考试有不同的规定。考试题目一般为算法或者数据结构相关的内容,题目形式包括传统题(最常见的规定输入和输出到文件的题目)和非传统题(提交答案题、交互题、补全代码题等等)。
NOIP¶
NOIP(National Olympiad in Informatics in Provinces)是全国青少年信息学奥林匹克联赛,顾名思义,是以省为单位排名评奖,对于大部分高校来说,获得提高组省一等奖可以用于获得自主招生资格。
NOIP 分为初赛和复赛两个阶段。初赛会考察一些计算机基础知识和算法基础,复赛是上机考试,也分提高组和普及组,时间上一般是 11 月的第二个周末,周六上午提高组 1 试 8:30-12:00(3.5h,共 3 题),下午 14:30-18:00 普及组(3.5h,共 4 题),周日上午提高组 2 试 8:30-12:00(3.5h,共 3 题)。全国使用同一套试卷,但是评奖规则是按照省内情况由 CCF(中国计算机学会)统一指定,并于赛后在 NOI 官方网站 上公布。各省的一等奖分数线略有不同。
省选¶
省队选拔赛是用于选拔各省参加全国赛的代表队,各个省队的名额有复杂的计算公式,一般和之前的成绩和参赛人数有关。省选由各个省自行决定,目前的趋势是很多省份选择联合命题。通常来讲,NOIP 分数需要在省选中占一定比例。根据规则,初中选手只能选拔成为 E 类选手,不参加 A、B 类选拔。A 类选手 5 人(4 男一女),其他选手根据给定名额和所得分数依次进入 B 队。一个学校参加 NOI 的名额不超过本省 A、B 名额总数的三分之一(四舍五入),得分最高且入选 A 队的女选手不占该比例。(简称 ⅓ 限制或 ⅓ 淘汰)
NOI¶
NOI(National Olympiad in Informatics)是全国信息学奥林匹克竞赛,一般在七月份举行,有现场赛和网络赛。现场赛选手分为五类,其中 A、B、C 类为正式选手,D、E 类选手为邀请赛选手。A、B 类对应省队的 A、B 类选手(其中 A 类在计算成绩时会有 5 分加分),C 类名义上是学校对 CCF 做出突出贡献后的奖励名额,D 类名义上是个人对 CCF 做出突出贡献后的奖励名额(基本为大额捐款),E 类选手为初中组选手,如果成绩超过分数线的话,只有成绩证明而没有奖牌(同等分数含金量要低一些)。正式选手前 50 名组成国家集训队,获得保送资格。网络赛报名形式上没有门槛。
WC¶
WC(Winter Camp)是全国青少年信息学奥林匹克竞赛冬令营,是每年冬天在当年 NOI 举办地进行的一项活动,内容包括若干天的培训和一天的考试。这项考试主要用于从国家集训队(50 人)选拔国家候选队(15 人),但是前一年 NOIP 取得较好成绩的选手也可以参加(不参与选拔)。
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。
- 北京大学中学生暑期课堂(信息学)在暑假举行,面向高二年级理科学生。
赛制介绍¶
OI 赛制¶
一般的 OI 赛制可以理解为单人在 5 个小时的时间内尝试解决 3 道题。每个题目可以不全部解决,会有多个数据点,题目的分数一般是数据点得分之和。每个数据点还可能会有部分分,就是数据点内部也不需要完全正确才能得到分数。评分方式是在比赛结束后统一评测,只有一次提交机会。 NOIP、NOI、省选都是 OI 赛制。
IOI 赛制¶
目前国内比赛也在逐渐向 IOI 赛制靠拢。 IOI 赛制可以赛时任意提交,可以即时查看评测结果,APIO、IOI 都是 IOI 赛制。
ACM/ICPC 赛制¶
在 ACM/ICPC 比赛中一般是三个人使用一台机器,每个题目只有在所有数据点全部正确后才能得到分数。比赛过程中可以有多次提交机会,实时评测并返回结果。比赛排名根据做题数和罚时来评判,罚时是通过题目的用时之和加上错误提交次数乘以一个系数。在 ACM 相关赛事中,选手允许带纸质资料。
参见 ICPC/CCPC 赛事与赛制 。
Codeforces (CF) 赛制¶
Codeforces 是一个在线评测系统,定期会举办比赛。它的比赛特点是在比赛过程中只测试一部分数据(pretests),而在比赛结束后返回完整的所有测试点的测试结果(system tests)。比赛时可以多次提交,允许 hack 别人的代码(此处 hack 的意思是提交一个测试数据,使得别人的代码无法给出正确答案)。当然,如果想要 hack,必须要锁定自己的代码(换言之,比赛时无法重新提交该题)。
其他国家和地区的 OI 竞赛¶
美国:USACO¶
官网地址: https://www.usaco.org/
USACO 或许是国内选手最熟悉的外国 OI 竞赛(因此可能也是中文题解最多的外国 OI 竞赛)。
每年冬季到初春,USACO 会每月举办一场网络赛。一场比赛持续 3\sim5 个小时。
根据官网的介绍,USACO 的比赛分成这 4 档难度(2015~2016 学年之前为 3 档):
- 铜牌组,适合编程初学者,尤其是只学了最最基础的算法(如:排序,二分查找)的学生。
- 银牌组,适合开始学习基本的算法技巧(如:递归,搜索,贪心算法)和基础数据结构的学生。
- 金牌组,学生会遇到更复杂的算法(如:最短路径,DP)和更高级的数据结构。
- 铂金组,适合有着扎实的算法设计能力的选手,铂金组可以帮助他们以复杂且更开放的问题来放飞挑战自我。
在国内,目前 USACO 题目最齐全的是洛谷。
波兰:POI¶
官网: https://oi.edu.pl/
官方提交地址: https://szkopul.edu.pl/p/default/problemset/
POI 是不少省选选手最常刷的外国 OI 比赛。
根据(已经凉凉的) http://main.edu.pl/en/ 的描述,POI 的流程如下:
- 第一轮:五题,网络赛,公开赛。
- 第二轮:包含一场练习赛,和两场正式比赛。
- 第三轮:赛制同上。
- ONTAK:POI 训练营(类似国内的集训队)
你可能还听说过 PA。PA 的大意是“算法大战”(我也不知道为啥它叫这名字)。
目前在国内 OJ 中,POI 题目最全的是 BZOJ。
克罗地亚:COCI¶
官网地址: http://www.hsin.hr/coci/
(有时候英文版的更新会延迟,克罗地亚语版本: http://www.hsin.hr/honi/ )
难度跨度很大的比赛,大约是从普及 - \sim 省选 -。以往 COCI 所有的题目均提供题目、数据、题解和标程,然而从 2017 年底之后,COCI 的题解和标程就断更了(不是没有英语版翻译,而是连克罗地亚语的版本都没有)。
洛谷、BZOJ 和 LibreOJ 都有少量的 COCI 题目。
日本:JOI¶
官网地址: https://www.ioi-jp.org/
日本信息学奥赛(日本情報オリンピック)一般简称为 JOI。JOI 所有的题目都提供题目、数据、题解和标程。近两年的 JOI 决赛和春训营提供了英语题面,但并没有英语题解。历年的 JOI Open 都提供了英语版题面和题解。绝大部分 JOI 题可以左转 AtCoder 提交。
JOI 的流程:
- 预赛(予選)
- 决赛(本選/JOI Final)
- 春训营(春季トレーニング合宿/JOI Spring Camp/JOISC)
- 公开赛(通信教育/JOI Open Contest)
目前 LibreOJ 和 BZOJ 有近些年的 JOI Final、JOISC 和 JOI Open 的题目。UOJ 有部分 JOISC 2017 的题目。 JOI Final 的难度在提高 - \sim 提高 + 左右。JOISC 和 JOI Open 的题目的难度在提高 \sim NOI - 不等。 你可以在 JOI 官网或者 AtCoder 上找到更多的 JOI 题(日文题面)
台湾地区:資訊奧林匹亞競賽¶
台湾地区把 OI 中的 informatics 翻译成“资讯”而非大陆通用的翻译“信息”。
台湾地区的选手如果想去参加 IOI,需要经过这几场比赛的洗礼:
- 區域資訊學科能力競賽
- 全國資訊學科能力競賽
- 資訊研習營(TOI)
俄罗斯:ROI¶
俄罗斯信息学奥赛(олимпиадная информатика)一般简称为 ROI。
官网: http://neerc.ifmo.ru/school/archive/index.html
在线提交地址: https://contest.yandex.ru/roiarchive/
一般简称为 ROI。流程:
- 市级比赛(Municipal stage/Муниципальный этап)
- 地区级比赛(Regional Stage/Региональный этап)
- 决赛(Final Stage/Заключительный этап)
你可能已经在 Codeforces 上见过了一些 ROI 题。目前 LibreOJ 有近两年的 ROI 决赛题(包括翻译)。
加拿大:CCC & CCO¶
CCC: Canadian Computing Competition
CCO: Canadian Computing Olympiad
官网地址: https://cemc.math.uwaterloo.ca/contests/past_contests.html#ccc
CCC 提交地址: https://dmoj.ca/problems/?category=4
CCO 提交地址: https://dmoj.ca/problems/?category=24
CCC 在 DMOJ 有官方 (?) 题解。
CCC Junior/Senior 贴近 NOIP 普及组/提高组难度。CCO 想要拿到金牌可能得有 NOI 银的水平。
法国与澳大利亚:FARIO¶
提交地址: http://orac.amt.edu.au/cgi-bin/train/hub.pl
FARIO 的题目与 NOI 的难度旗鼓相当。
其它大洲级 OI 竞赛¶
BalticOI¶
BalticOI 面向的是波罗的海周边各国。BalticOI 2018 的参赛国有立陶宛、波兰、爱沙尼亚、芬兰等 9 国。 除了 2017 年,BalticOI 每年都公开题面、测试数据和题解。然而 BalticOI 没有一个固定的官网,每年的主办方都会新建一个网站……关于历年的官网地址,Planet6174 整理出了一个 帖子 。 目前 LibreOJ 有近十年的 BalticOI 题。
BalkanOI¶
BalkanOI 面向巴尔干地区周边各国。BalkanOI 2018 的参赛国有罗马尼亚、希腊、保加利亚、塞尔维亚等 12 国。 BalkanOI 只有某几年公开题面、测试数据和题解,官网地址参见上面那个帖子。
CEOI¶
CEOI 2018 的参赛国与上面两个比赛有部分重叠,包括波兰、罗马尼亚、格鲁吉亚、克罗地亚等国。
CEOI 每年都公开题面、测试数据和题解,官网地址参见上面那个帖子。
在国内 OJ 中,BZOJ 的 CEOI 题相对最齐。
Nordic Olympiads in Informatics (NOI)¶
官网地址: http://nordic.progolymp.se
近两年才开始举办的比赛,面向北欧各国。
build本页面最近更新:,更新历史
edit发现错误?想一起完善? 在 GitHub 上编辑此页!
people本页面贡献者:Ir1d, Planet6174, abc1763613206, StudyingFather, cjsoft, TrisolarisHD, luoguyuntianming, ChungZH, Xeonacid, yizr-cnyali, i-Yirannn
copyright本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用