计算机算法竞赛全解析:从ICPC到蓝桥杯
计算机算法竞赛全解析:从ICPC到蓝桥杯
计算机专业的同学们,面对众多算法竞赛,你是否感到迷茫?本文将为你详细介绍各类算法竞赛的赛制、规则、含金量和报名方式,帮助你选择适合自己的比赛,提升个人能力。
前言
计算机专业的同学们经常会问:有哪些值得参加的比赛呢?确实,计算机专业竞赛种类繁多,每种竞赛的目的和侧重点也不同。有的是为了提高个人能力,有的是为了保研、就业加分,还有的是为了奖金。本文将重点介绍一些算法类竞赛,因为这类竞赛大家接触较多,且奖项荣誉对个人发展有较大帮助。
在介绍具体比赛之前,先了解一下一些专业术语:
- AC:Accept,通过
- AK:All-Killed,AC了所有题
- 爆零:一题都没通过
- WA:Wrong Answer,答案错误
- RE:Runtime Error,运行错误
- CE:Compilation Error,编译错误
- TLE:Time Limit Exceeded,时间超限
- MLE:Memory Limit Exceeded,内存超限
- PE:格式错误
- OLE:Output Limit Exceeded,超出输出限制
- UKE:Unknown Error,出现未知错误
三大赛制
在介绍比赛之前,要先说一下赛制。其中ACM赛制要求是最高的,错一点整个题就不得分,所以每道题要采取适合的方法。而OI和IOI则是通过测试样例数量给分,如果题目不会最优解混部分分也可以得到不错的成绩。
ACM赛制:现场判题,每道题必须通过所有测试点才算通过。不限制提交次数,但没通过会有罚时,仅以最后一次提交为准。比赛过程中一般可以看到实时排名,通过题数相同的情况下按照答题时间+罚时来排名。
ACM赛制的比赛包括:ICPC、CCPC、codeforces比赛、牛客小白赛练习赛挑战赛、传智杯等。
OI赛制:每道题提交之后都没有任何反馈,根据通过的测试点数量获得相应分数。每道题不限制提交次数,仅以最后一次提交为准。比赛过程中看不到实时排名,赛后按照总得分来排名。
OI赛制的比赛包括:NOI全国青少年信息学奥林匹克竞赛、CCF CSP、蓝桥杯、牛客OI赛等。
IOI赛制:现场判题,可以实时看到得分,但看不到错误的测试样例。根据通过的测试点数量获得相应分数。每道题不限制提交次数,提交错误没有任何惩罚,仅以最后一次提交为准,按照总得分来排名。
IOI赛制的比赛包括:PAT、团体程序设计天梯赛、CCF CCSP、洛谷月赛。
ICPC
国际大学生程序设计竞赛(ICPC)的名气非常大。这个比赛以前由ACM赞助,现在由AWS education、华为、JetBrains三家主要赞助。
ICPC的含金量非常高,即使近些年含金量有些下滑,但它依旧在算法领域具有很高的地位。ICPC分为省赛、亚洲区域赛、亚洲决赛和世界总决赛。一般来说,区域赛的含金量还是比较受认可的。
对于普通同学来说,焦点通常是国内的几场区域赛。ICPC的门槛比较高,每个学校一般只有几支队伍能参加,有的学校可能只有一两只队伍。想参加ICPC,需要有较强的算法基础,能够获得学校教练的认可。
赛制:ACM赛制
题量:7到13个问题
时长:5小时
编程语言:C/C++、Java和Python
奖项设置:金、银、铜奖的颁奖比例为参加队数的10%、20%和30%,其余称为打铁。
大赛官网:https://icpc.global/
其他:一般本科,理论上研一最大年级,三人一队,A一道题自己多一个气球。
CCPC
中国大学生程序设计竞赛(CCPC)是中国的竞赛,整体来说跟ICPC很像,但CCPC的历史比较短,2015年才开始第一届。想参加的话,门槛跟ICPC有些类似,学校可以参加的名额一部分通过网络赛争取,一部分是固定名额,还有其他承办、出题等因素也会奖励一些名额。
大赛官网:https://ccpc.io/
其他:只允许本科、专科
蓝桥杯
蓝桥杯大赛是工业和信息化部人才交流中心举办。蓝桥杯是个人赛,分多个组别,包括C/C++、Java和Python等。蓝桥杯的分组竞赛方式,让不同水平的学生都能找到适合自己的参赛机会。
蓝桥杯采用OI赛制,提交答案之后赛后评判,根据通过的样例数量给分。这样的赛制,放宽了对于编程速度的要求,对大部分选手来说更友好。
赛制:OI赛制
题量:5道填空题+5道编程题,满分150分。
时长:4小时
编程语言:C/C++、Java和Python
奖项设置:
- 省赛:省赛每个组别设置一、二、三等奖,比例分别为10%、20%、30%,总比例为实际参赛人数的60%,零分卷不得奖。省赛一等奖选手获得直接进入全国总决赛资格。
- 国赛:个人赛根据相应组别分别设立一、二、三等奖及优秀奖。其中,一等奖不高于5%,二等奖占20%,三等奖不低于25%,优秀奖不超过50%。
大赛官网:https://dasai.lanqiao.cn/
其他:个人赛,需要注意分组自己所能报名的组别
天梯赛
天梯赛是个团体赛,每个队不超过10人,题目难度分为基础级、进阶级、登顶级三个梯级。天梯赛的赛制很有意思,以个人独立竞技、团体计分的方式进行排名。
赛制:IOI赛制
题量:基础级设8道题,进阶级设4道题,登顶级设3道题。
时长:3小时
编程语言:C、C++ 和 Java。
奖项设置:竞赛的3个组别分别设置全国高校奖、全国团队奖、个人特等奖、个人优胜奖、特别奖、成功参赛奖;同时各省设置省内高校奖和团队奖。
大赛官网:https://gplt.patest.cn/teams
其他:需本科生或者专科生
CCF CSP认证
CCF CSP认证是中国计算机学会组织的认证,一些高校会将CSP成绩用于保研加分、考研复试机试分数抵扣等。CCF CSP认证的局域性色彩很浓厚,如果你的学校对CCF CSP有要求或者你要报考的学校对CCF CSP有政策,那一定得报名一波。
赛制:OI赛制
题量:5道编程题,近些年难度有所增加。
时长:4小时
编程语言:C/C++、Java和Python
奖项设置:分数排名,一般300分作为一个衡量点就不错了。满分的话很少每次只有少数几个人。
大赛官网:https://www.cspro.org/
其他:个人赛无分组,是否大学生都可参加
PAT
PAT是浙大组织的比赛,目的是通过一些校企合作让大家参加。如果你考浙大,PAT的甲级分数可以直接抵浙大复试机试的分数。不过就影响力来说,因为是浙大组织的比较偏民间化,并且组织时间也不是很长,认可度暂时还没那么高。
赛制:IOI赛制
题量:顶级(英文,3题)、甲级(英文,4题)、乙级(中文,5题)。满分都是100分。
时长:4小时
编程语言:C/C++、Java和Python等多种语言,但Java等语言很慢,千万别用Scanner。
奖项设置:分数名次,甲级90分以上的话就不错了
大赛官网:https://www.patest.cn/
其他:个人无分组,是否大学生都可参加
其他
除了上述比赛,还有一些机构公司最近也开始组织比赛,例如传智播客等。此外,还有百度之星(每年暑假)等网络赛,以及各个平台、学校开放的比赛。这里推荐一些刷题平台:
- 杭电oj:http://acm.hdu.edu.cn/
- 北大oj:http://poj.org/
- 牛客竞赛:https://ac.nowcoder.com/acm/home
- Codeforces:http://codeforces.com/
- Atcoder:https://atcoder.jp/
- 计蒜客:https://nanti.jisuanke.com/oi/
- 洛谷:https://www.luogu.com.cn/
- vjudge:https://vjudge.z180.cn/
- 力扣:https://leetcode-cn.com/problemset/all/
- 蓝桥杯练习系统:http://lx.lanqiao.cn/problemsets.page
- PTA: https://pintia.cn/
最后提醒一下,并不是所有算法竞赛都适合你。有些算法竞赛只是特定渠道认可度很高,并且报名费确实不菲。所以如果有条件可以试一试ICPC/CCPC,如果没条件努力冲冲蓝桥杯总是可以的吧!如果想准备某个比赛,要自己更详细了解比赛时间、学校是否有相关安排、比赛题目风格等更加具体的信息。
加油冲冲冲,今天的算法竞赛就先介绍到这里,工程类比赛比较多也比较杂,后面有空的话可以给大家梳理一波。