0%

ACM、OI、IOI编程竞赛模式介绍

介绍一下编程比赛:

ICPC是国际大学生程序设计竞赛(ACM International Collegiate ProgrammingContest(ACM-ICPC或ICPC)是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。

CCPC中国大学生程序设计竞赛(China Collegiate Programming Contest) 是由中国大学生程序设计竞赛协会主办的面向世界大学生的国际性年度赛事,旨在激励当代大学生运用计算机编程技术和技能来解决实际问题,激发其学习算法和程序设计的兴趣,培养其团队合作意识、创新能力和挑战精神。

IOI是国际信息学奥林匹克竞赛 (International Olympiad in Informatics),是面向中学生的一年一度的信息学科竞赛。举办历史较长,第一届国际信息学奥林匹克竞赛于1989年在保加利亚举行。

NOI是中国计算机学会举办了全国青少年计算机程序设计竞赛,即全国青少年信息学奥林匹克竞赛(简称NOI)。

NOIP是全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces)自1995年至今已举办19次,每年由中国计算机学会统一组织。

介绍一下编程比赛中最常见的三种赛制:ACM赛制、OI赛制、IOI赛制。

先普及一些常见的竞赛术语:提交反馈,实时排名,按点给分,题数罚时,测试点(测试用例)等。

  • 提交反馈:一般为“通过AC”、“答案错误”、“运行超时”等等反馈

  • 实时排名:比赛中能看到排名,如ACM赛制

  • 全有或全无:只有通过全部测试点才算通过,只要有一个测试点不通过就不能AC(答案accept)

  • 按点给分:每道题有多个测试点,通过几个测试点就给相应分值

  • 题数罚时:题数多者排名靠前,只有当题数相同时才比较时间,时间少者排名靠前,或再比较罚时,罚时为提交错误答案给予相应的罚时,罚时和比赛时间没有关系,只用来排名,每做错一道题会有罚时相加,罚时少排名靠前。

先看通过的题目数量,单独绿色表示通过,然后看罚时,罚时短的靠前,每个题目下面黑色数字表示做出这个题的时间,然后把ac的题的时间数累加到罚时中,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。红色- 表示没通过的题和错误提交次数,蓝色的表示比赛结束后的通过。

赛制 提交反馈 实时排名 计分方式 排名方式 相关比赛
ACM制 全有或全无 题数+时间 ICPC、CCPC、牛客小白赛、传智杯
OI制 按点给分 分数 NOI、计算机能力挑战赛、蓝桥杯
IOI制 按点给分 分数 PAT、团体程序设计天梯赛、CCF

ACM赛制:每道题提交之后都有反馈,但看不到错误的测试样例(leetcode周赛可以看到),每道题都有多个测试点,每道题必须通过了所有的测试点才算通过。每道题不限制提交次数,没通过的话会有罚时,比赛过程中可以看到实时排名,通过题数相同的情况下按照答题时间+罚时来排名。

ACM赛制的比赛:ICPC、CCPC、codeforces、leetcode周赛及全国编程大赛、传智杯

OI赛制:每道题提交之后都没有反馈,根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,如果提交错误没有任何惩罚,仅以最后一次提交为准,赛后按照总得分来排名。

OI赛制的比赛:NOI、考研机试、蓝桥杯、计算机能力挑战赛。

IOI赛制:每道题提交之后都有反馈,可以实时看到自己每道题得了多少分,但看不到错误的测试样例。每道题都有多个测试点,根据通过的测试点的数量获得相应的分数。每道题不限制提交次数,如果提交错误没有任何惩罚。比赛过程中一般可以看到实时排名,按照总得分来排名。IOI赛制是结合了OI赛制和ACM赛制的特点。

IOI赛制的比赛:PAT、团体程序设计天梯赛、CCF、CSP、洛谷月赛。

注意Tips:

OI赛制和IOI赛制没有提交限制,提交错误也没有惩罚,所以可以大胆地提交,但ACM赛制的罚时会很大拉开差距。