前言
你好,我是bigsai。 这篇文章介绍算法竞赛。 如果有用的话,请一键支持三连。
最近,有些yydxlz可以参加我们计算机专业的比赛是什么? 皱眉头,我以为我们的计算机专业竞赛好像确实蛮多的,在这里捋一下吧。
竞赛的目的有很多。 有的是为了参加竞赛提高个人能力,有的是为了获得荣誉对自己的保研、就业、应试学习有好处,有的是为了奖金。
竞赛的类型也有很多种,有算法类、工程类、科研类等,不同的竞赛难度不同,社会认知度也不同。 根据自己的条件,可以选择合适的参赛磨练自己,也可以扩大自己的认识,以后可以和人聊天。
今天主要介绍几个算法类竞赛。 算法类竞赛大家听说过或接触过很多。 有些竞赛奖项的荣誉可以让自己终身暴露在荣誉之下,但算法类竞赛一般多为荣誉型,奖金少。
介绍一些比赛制和比赛。 在介绍比赛之前,先弄清楚专业术语。
交流电:接受,通过
AK :所有的Killed,AC解决了所有的问题
爆零:一个问题也没通过(普通比赛前自嘲这次又爆零) )。
wa :魔兽世界,答案是错的
RE:Runtime Error,执行错误(通常为阵列越境、爆堆) )。
CE:Compilation Error、编译错误、即使有信心,也请在本地编译成功之后提交。
TLE:Time Limit Exceeded,时间超限(面临的最大挑战之一是,是死循环,还是算法复杂度过高需要优化,算法的复杂度和给定的时间心里也需要小数) )。
MLE:Memory Limit Exceeded,内存超限(通常数组打开得很大,数组能打开多少数量) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。
PE :格式应该错了吗? 不太清楚
ole :输出限制已完成,超过输出限制
uke :未知错误,发生未知错误。
三大赛制
在介绍比赛之前,必须说明比赛方式。 其中,ACM比赛方式的要求最高,如果稍有失误,整体问题就无法得分,因此各问题应采取适当的方法,但OI和IOI以测试样本数给予得分,如果问题得不到最佳解答,部分得分也能取得好成绩。
广告赛制:现场判断问题。 每个问题有多个测试点。 每个问题必须通过所有的测试点才能通过。 不限制提交次数,不合格时有惩罚条例的,仅以最后提交为基准。 比赛中一般可以看到实时排名,如果题数相同,则根据答题时间在受罚时进行排名。
ACM赛制的比赛: ICPC、CCPC、codeforces比赛、牛客wsddy比赛练习赛挑战赛、传智杯等。
OI赛制:各题提出后,没有任何反馈,各题有多个测试点,根据各题通过的测试点的数量获得相应的分数。 各问题不限制提交次数,只以最后提交为基准。 比赛中看不到实时排名,比赛后按总分排名。
OI赛制的比赛: NOI全国青少年信息学奥林匹克运动会、CCF CSP、蓝桥杯、牛客OI比赛等。
IOI赛制:可以在现场判断问题,实时看到自己在各问题上得了多少分,但看不到错误的测试样本。 每个问题都有多个测试点,每个问题根据通过的测试点的数量得到相应的分数。 各问题不限制提交次数,对提交错误没有任何惩罚,只以最后提交为基准,按总分排名。 IOI比赛结合了OI比赛和ACM比赛的特征。
IOI赛制的比赛: PAT、团体编程天梯比赛、CCF CCSP、洛谷月比赛。
ICPC
ICPC太有名了,说起IPCP,我想大家都知道。 3人一队电脑、英语主题、5小时内给a主题放一个气球……
国际大学生程序设计大赛(英语全名: international Collegiate Programming Contest (ICPC ) ),该大赛长期由ACM赞助。 以前被称为ACM/ICPC,现在大部分人还是把icpc称为ACM。 但是,从2018年开始,美国计算机协会(ACM )不再是ICPC的主要赞助商。 此后,JetBrains成为其赞助商,目前AWS教育、华为和JetBrains三家公司是主要赞助商。
初期的图标也成为了回忆。 ACM、IMB是金主的瘦荷包蛋。
这场比赛含金量非常高,虽然近年来含金量略有下降,但在算法领域是含金量最高的比赛,经常会看到某算法课程的作者“xx,20xx年ACM亚洲xx区域大赛金牌”。 一听到金牌,大家都会想“卧床不起”。
大佬讲课,这个课程质量肯定稳了,买买买!
不过ICPC也有省赛,亚洲区域赛,亚洲决赛( EC-Final)和世界总决赛(World Finals),一般来说区域赛含金量还是比较受认可的,当然中国只有强校的队才能进World Finals。
对于普通同学的焦点来说都是国内的几场区域赛。ICPC的门槛比较高,每个学校一般有几只队伍,有的学校可能只有一两只队伍(每个队伍一年最多打两场区域赛),具体名额分配要看各个区域赛组织文件的,所以如果想参加ICPC光想还是没用的,还要自身实力够硬能够获得学校教练认可,让你组队训练给你名额。
如果你高中有IO竞赛经验或者大一比较喜欢算法刷题,那么强烈推荐努力尝试一波,但如果你目前都大二大三但是算法基础还是很差,那并不是建议你在这上花太多时间,如果结果只是打铁那花费那么多时间在这上其实还是有点不值当的,ICPC是属于算法jpdsn的比赛而不是普通人的比赛。虽说学习算法很能提升个人能力,考研、就业也有很大帮助,但ICPC的难度通常远大于面试力扣、剑指offer,可以但没必要。
赛制:ACM赛制
题量: 7到13个问题(编程题)
时长:5小时
编程语言:C/C++、Java和Python
奖项设置:金、银、铜奖的颁奖比例参加队数的 10%, 20% 和 30%,其余我们亲切地称为打铁。
大赛官网:https://icpc.global/
其他:一般本科,理论上研一最大年级,三人一队,A一道题自己多一个气球。
CCPC
中国大学生程序设计竞赛(China Collegiate Programming Contest, CCPC)这个比赛是中国的,很多人把它和ICPC弄混淆,它整体来说跟ICPC很像(赛制、规则),但CCPC的历史比较短,2015年才开始第一届所以有些院校还不太认这个比赛(甚至不报销),但目前赛制也很完善也得到大家认可。
想参加的话其实门槛目前来说跟ICPC有些类似,学校可以参加的名额一部分网络赛争取,一部分固定名额,还有其他承办、出题等等其他因素也会奖励一些名额,对于学生来说,当然也是只能先进校队才能有机会参加比赛了。
对于ICPC/CCPC如果自己还很年轻,并且自己有追求想参加的话,可以打听打听校队和自己院校情况,努力刷题打比赛参加学校程序设计大赛证明自己。
其规则和ICPC相似。
大赛官网:https://ccpc.io/
其他:只允许本科、专科
蓝桥杯
蓝桥杯大家可能更熟悉一些,因为可能很多人都参加过,它是一个比较亲民化的算法竞赛(这里就不说非电子类的了),蓝桥杯大赛是工业和信息化部人才交流中心举办。
蓝桥杯是个人赛,个人赛软件类分为:C/C++大学研究生组,C/C++大学A组,C/C++大学B组,C/C++大学C组,Java大学研究生组,Java大学A组,Java大学B组,Java大学C组,Python大学组共9个组别。研究生只能报研究生组。一本院校(985、211)本科生只能报大学A组以上组别。其它本科院校本科生可报大学B组及以上组别。其它高职、高专院校可自行选择报任意组别。每位选手只能申请参加其中一个组别的竞赛。各个组别单独评奖。蓝桥杯的分组竞赛方式,让平时被“xfdwl”打压的普通学生,也能有获得感,有进步感,给更多学生指引了努力的方向。
在比赛的时候蓝桥杯是OI赛制,也就是提交答案之后赛后评判,根据通过的样例数量给分。这样的赛制,放宽了对于编程速度的要求,对于大部分选手来说更友好一点,可以更从容地解决问题,但也可能有些错误被疏忽不知道已经错了。
蓝桥杯报名的话有个人和院校两种,学校报名:自己注册,自己提交申请,选择学校报名,等待学校缴费(很多学校要让学生先交钱,获奖之后再报销的)。而自己报名的话就是自己完成一系列流程,但是有的学校不允许学生擅自个人报名要走学校通道的也要注意一下。
很多人对蓝桥杯的含金量看法不一,ACM大佬可能觉得这个比赛没啥含金量,但是不同人有不同的追求吧,没有ACM竞赛机会的蓝桥杯就是一个学习算法、证明自己的另一个非常好的方式。省赛的话确实含金量一般,省一才有资格进入国赛,拿了省一能证明你有两下子,在国赛如果能拿国一或者国二其实还是有含金量的。
赛制:OI赛制
题量:5道填空题+5道编程题,填空题一般也是需要编程求解答案,满分150分。
时长:4小时
编程语言:C/C++、Java和Python
奖项设置:
省赛:省赛每个组别设置一、二、三等奖,比例分别为10%、20%、30%,总比例为实际参赛人数的60%,零分卷不得奖。省赛一等奖选手获得直接进入全国总决赛资格。
国赛:个人赛根据相应组别分别设立一、二、三等奖及优秀奖。其中,一等奖不高于5%,二等奖占20%,三等奖不低于25%,优秀奖不超过50%。
国赛都是省一选手参加的,并且一二三等奖获奖比例更加苛刻,所以这个含金量还是有的。
大赛官网:https://dasai.lanqiao.cn/
其他:个人赛,需要注意分组自己所能报名的组别
天梯赛
天梯赛是个团体赛,每个队不超过10人,题目的话更亲民一些,难度分3个梯级:基础级、进阶级、登顶级。以个人独立竞技、团体计分的方式进行排名。
当然天梯赛奖项设置也比较多,这里就不进行详细介绍了,可以到官网去查看奖项设置,但很多学校算法氛围不是很浓厚或者没人带队没有队伍参加,这种有意思的赛制其实还是建议参加体验一下的,自己为团队奉献力量。
赛制:IOI赛制
题量: 基础级设 8 道题,进阶级设 4 道题,登顶级设 3 道题。
时长:3小时
编程语言:C、C++ 和 Java。
奖项设置:竞赛的 3 个组别分别设置全国高校奖、全国团队奖、个人特等奖、个人优胜奖、特别奖、成功参赛奖;同时各省设置省内高校奖和团队奖。
大赛官网:https://gplt.patest.cn/teams
其他:需本科生或者专科生
CCF CSP认证
这个中国计算机学会组织的一个认证,毕竟中国计算机学会也是个像模像样的组织,拉拢了一些高校达成一些一致,高校有的保研加分、分数可以抵考研复试机试分数、研究生CSP分数可以评奖学金加分等等手段拉取一些报名参赛。
CCF CSP认证的局域性色彩很浓厚。如果你的学校对CCF CSP有要求或者你要报考的学校对CCF CSP有政策,那你一定得报名一波哇!
但是客观来说普及度和认可度,确实还不太行。
赛制:OI赛制
题量: 5道题,都是编程题,近些年难度有所增加。
时长:4小时
编程语言:C/C++、Java和Python
奖项设置:分数排名,一般300分作为一个衡量点就不错了。满分的话很少每次只有少数几个人。
大赛官网:https://www.cspro.org/
其他:个人赛无分组,是否大学生都可参加,CSP成绩好的可以参加CCSP。
PAT
PAT: 这是浙大组织的比赛,目的我就不说了,通过一些校企合作让大家参加,不过承认的企业其实也不是很多。但是如果你考浙大那这PAT嘎嘎香啊,因为PAT的甲级分数可以直接抵浙大复试机试的分数。
不过就当影响力来说,因为是浙大组织的比较偏民间化,并且组织时间也不是很长,认可度暂时还没那么高。还有一点PAT对Java选手不太友好,因为不管什么语言时间都是一样的(不像某些比赛Java二倍时间),所以面对大量数据的时候,记得不能用Scanner,要用BufferedReader等快速输入输出(自行搜索一下Java快速输入输出)。
赛制 :IOI赛制
题量 :顶级(英文,3题)、甲级(英文,4题)、乙级(中文,5题)。满分都是100分。
时长:4小时
编程语言:C/C++、Java和Python等多种语言,但Java等语言很慢,千万别用Scanner。
奖项设置:分数名次,甲级90分以上的话就不错了
大赛官网:https://www.patest.cn/
其他:个人无分组,是否大学生都可参加
其他
除了上面稍微大一点的,还有一些机构公司最近也开始组织比赛(例如传智播客)这些暂时就不列举了,还有一些其他网络赛比如百度之星(每年暑假)等,还有各个平台、学校开放自己的比赛就要自己去找啦,不过在这里推荐一些刷题平台。当然OJ很多,这里简单列举一些大家熟知的。
杭电oj:http://acm.hdu.edu.cn/ 老牌oj,题量挺多
北大oj:http://poj.org/ 老老牌oj(jdk好像支持1.5……)
牛客竞赛:https://ac.nowcoder.com/acm/home 每周有很多周赛组织
Codeforces:http://codeforces.com/ 全球最大的竞赛平台,俄罗斯网站,有不同难度比赛
Atcoder:https://atcoder.jp/ 日本竞赛平台
计蒜客:https://nanti.jisuanke.com/oi/ 有些题库和比赛会在上举行
洛谷:https://www.luogu.com.cn/ 中学生打OI用的更多,也很适合算法初学者
vjudge:https://vjudge.z180.cn/ 整合一系列题目模拟组成题库(本质是个爬虫)
力扣:https://leetcode-cn.com/problemset/all/ 面向工作党强烈推荐,也有周赛
蓝桥杯练习系统:http://lx.lanqiao.cn/problemsets.page 适合刷蓝桥杯试题同志
PTA: https://pintia.cn/ PAT考题和天梯赛考题oj
最后说一下,并不是所有算法竞赛都适合你,有些算法竞赛只是特定渠道认可度很高,并且报名费确实不菲(每年举行好几次的被喷圈钱是有原因的),所以如果有条件可以试一试ICPC/CCPC,如果没条件努力冲冲蓝桥杯总是可以的吧!如果想准备某个比赛,要自己更详细了解比赛时间、学校是否有相关安排、比赛题目风格等更加具体的信息,这里就不做那么详细的介绍啦!
加油冲冲冲,今天的算法竞赛就先介绍到这里,工程类比赛比较多也比较杂,后面有空的话可以给大家梳理一波。
关于作者:程序员bigsai,专注于数据结构与算法、Java方面知识分享,同名公众号【bigsai】,坚持输出干货,如果有学习、考研、选择等问题欢迎交流!
原创不易,欢迎关注、点赞、转发!持续分享原创,谢谢!
一分快三技巧准确率100就不进行详细介绍了,可以到官网去查看奖项设置,但很多学校算法氛围不是很浓厚或者没人带队没有队伍参加,这种有意思的赛制其实还是建议参加体验一下的,自己为团队奉献力量。
赛制:IOI赛制
题量: 基础级设 8 道题,进阶级设 4 道题,登顶级设 3 道题。
时长:3小时
编程语言:C、C++ 和 Java。
奖项设置:竞赛的 3 个组别分别设置全国高校奖、全国团队奖、个人特等奖、个人优胜奖、特别奖、成功参赛奖;同时各省设置省内高校奖和团队奖。
大赛官网:https://gplt.patest.cn/teams
其他:需本科生或者专科生
CCF CSP认证
这个中国计算机学会组织的一个认证,毕竟中国计算机学会也是个像模像样的组织,拉拢了一些高校达成一些一致,高校有的保研加分、分数可以抵考研复试机试分数、研究生CSP分数可以评奖学金加分等等手段拉取一些报名参赛。
CCF CSP认证的局域性色彩很浓厚。如果你的学校对CCF CSP有要求或者你要报考的学校对CCF CSP有政策,那你一定得报名一波哇!
但是客观来说普及度和认可度,确实还不太行。
赛制:OI赛制
题量: 5道题,都是编程题,近些年难度有所增加。
时长:4小时
编程语言:C/C++、Java和Python
奖项设置:分数排名,一般300分作为一个衡量点就不错了。满分的话很少每次只有少数几个人。
大赛官网:https://www.cspro.org/
其他:个人赛无分组,是否大学生都可参加,CSP成绩好的可以参加CCSP。
PAT
PAT: 这是浙大组织的比赛,目的我就不说了,通过一些校企合作让大家参加,不过承认的企业其实也不是很多。但是如果你考浙大那这PAT嘎嘎香啊,因为PAT的甲级分数可以直接抵浙大复试机试的分数。
不过就当影响力来说,因为是浙大组织的比较偏民间化,并且组织时间也不是很长,认可度暂时还没那么高。还有一点PAT对Java选手不太友好,因为不管什么语言时间都是一样的(不像某些比赛Java二倍时间),所以面对大量数据的时候,记得不能用Scanner,要用BufferedReader等快速输入输出(自行搜索一下Java快速输入输出)。
赛制 :IOI赛制
题量 :顶级(英文,3题)、甲级(英文,4题)、乙级(中文,5题)。满分都是100分。
时长:4小时
编程语言:C/C++、Java和Python等多种语言,但Java等语言很慢,千万别用Scanner。
奖项设置:分数名次,甲级90分以上的话就不错了
大赛官网:https://www.patest.cn/
其他:个人无分组,是否大学生都可参加
其他
除了上面稍微大一点的,还有一些机构公司最近也开始组织比赛(例如传智播客)这些暂时就不列举了,还有一些其他网络赛比如百度之星(每年暑假)等,还有各个平台、学校开放自己的比赛就要自己去找啦,不过在这里推荐一些刷题平台。当然OJ很多,这里简单列举一些大家熟知的。
杭电oj:http://acm.hdu.edu.cn/ 老牌oj,题量挺多
北大oj:http://poj.org/ 老老牌oj(jdk好像支持1.5……)
牛客竞赛:https://ac.nowcoder.com/acm/home 每周有很多周赛组织
Codeforces:http://codeforces.com/ 全球最大的竞赛平台,俄罗斯网站,有不同难度比赛
Atcoder:https://atcoder.jp/ 日本竞赛平台
计蒜客:https://nanti.jisuanke.com/oi/ 有些题库和比赛会在上举行
洛谷:https://www.luogu.com.cn/ 中学生打OI用的更多,也很适合算法初学者
vjudge:https://vjudge.z180.cn/ 整合一系列题目模拟组成题库(本质是个爬虫)
力扣:https://leetcode-cn.com/problemset/all/ 面向工作党强烈推荐,也有周赛
蓝桥杯练习系统:http://lx.lanqiao.cn/problemsets.page 适合刷蓝桥杯试题同志
PTA: https://pintia.cn/ PAT考题和天梯赛考题oj
最后说一下,并不是所有算法竞赛都适合你,有些算法竞赛只是特定渠道认可度很高,并且报名费确实不菲(每年举行好几次的被喷圈钱是有原因的),所以如果有条件可以试一试ICPC/CCPC,如果没条件努力冲冲蓝桥杯总是可以的吧!如果想准备某个比赛,要自己更详细了解比赛时间、学校是否有相关安排、比赛题目风格等更加具体的信息,这里就不做那么详细的介绍啦!
加油冲冲冲,今天的算法竞赛就先介绍到这里,工程类比赛比较多也比较杂,后面有空的话可以给大家梳理一波。
关于作者:程序员bigsai,专注于数据结构与算法、Java方面知识分享,同名公众号【bigsai】,坚持输出干货,如果有学习、考研、选择等问题欢迎交流!
原创不易,欢迎关注、点赞、转发!持续分享原创,谢谢!