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
近兩年才開始舉辦的比賽,面向北歐各國。
參考資料
本页面最近更新:,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:Ir1d, Planet6174, abc1763613206, StudyingFather, cjsoft, Marcythm, luoguyuntianming, ChungZH, Xeonacid, YZircon, i-Yirannn, H-J-Granger, NachtgeistW, YuzhenQin, Andycode3759
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用