ACM算法竞赛入门——算法竞赛赛制、题目形式、常见评测状态_算法赛-程序员宅基地

技术标签: 算法  c++  ACM  

xcx:学完C++基础语法之后,已经迫不及待的打比赛了,算法竞赛到底是什么?

shy:别着急,今天我们来好好讲一讲算法竞赛赛制,题目形式和评测状态。

一、算法竞赛赛制

1. ACM赛制

ACM只有正确和错误两种结果,即使部分测试点通过仍显示答案错误。ACM赛制必须通过所有的测试点才算通过,虽然可以看到程序的运行结果,但无法了解题目具体测试点的情况。题目可以不限次数提交,直到所有测试点均通过为止,但是提交错误一次往往会有20分钟的罚时。ACM赛制可以看到实时的排行榜,可以根据排行榜上选手提交题目次数和通过率来安排自己的做题顺序(当然榜一神犇当我没说)。

排名方式计算:

先看通过题数,通过题数越多,排名越靠前,通过题数相同的情况下按照罚时升序排序(具体罚时计算方式如下)。

罚时计算:

ACM竞赛中的罚时是一种为解题时间和错误尝试次数而设立的惩罚机制,目的是鼓励参赛者尽快解决问题并避免不断尝试错误的情况。罚时是在解决问题的基础上计算的,由两部分组成:解题用时和错误尝试次数的罚时。

  1. 解题用时: 对于每道题目,参赛队伍解决问题的用时是从比赛开始到解决问题的时间。这个用时单位通常是分钟。
  2. 错误尝试罚时: 对于每道题目,如果参赛队伍在正确解答之前提交了错误的尝试,则会受到一定的罚时。通常,每次错误尝试会被罚时20分钟。这意味着,如果一个队伍在正确解答问题之前提交了k次错误尝试,那么该问题的罚时为20*k分钟。

最终,队伍的总罚时是所有解题用时和错误尝试罚时的总和。如果有多支队伍解决了相同数量的问题,总罚时越低的队伍排名越高。

举例说明:

假设队伍A在比赛开始30分钟时正确解答了问题1,但在此之前提交了2次错误尝试。队伍B在比赛开始20分钟时正确解答了问题1,但在此之前提交了3次错误尝试。

  • 队伍A的罚时:
    • 解题用时:30分钟
    • 错误尝试罚时:2次错误 * 20分钟/次 = 40分钟
    • 总罚时:30分钟 + 40分钟 = 70分钟
  • 队伍B的罚时:
    • 解题用时:20分钟
    • 错误尝试罚时:3次错误 * 20分钟/次 = 60分钟
    • 总罚时:20分钟 + 60分钟 = 80分钟

在这个例子中,尽管队伍B在解题用时上更短,但由于错误尝试次数较多,导致总罚时更高,因此队伍A在排名中可能更靠前。

由此可见,ACM赛制交题需谨慎(当然时间不足的时候能A题肯定要A题,到时可以反复尝试,直到正确)。

常见ACM赛制比赛:

ICPC(International Collegiate Programming Contest)国际大学生程序设计竞赛(The ICPC International Collegiate Programming Contest

CCPC(China Collegiate Programming Contest)中国大学生程序设计竞赛(中国大学生程序设计竞赛(CCPC)-官网

Codeforces Contests(Contests - Codeforces

LeetCode 周赛/双周赛(竞赛 - 力扣 (LeetCode)

牛客小白月赛、练习赛、挑战赛(牛客竞赛OJ_ACM/NOI/CSP/CCPC/ICPC_信息学编程算法训练平台 (nowcoder.com)

传智杯全国大学生IT技能大赛(传智杯大赛官网-全国大学生计算机大赛 (ityxb.com)

2. OI赛制

OI赛制提交题目得不到测试状态反馈,提交错误没有任何提示,一最后一次保存的结果为准。比赛中没有实时排行与A题情况(最讨厌这种赛制 (っ °Д °;)っ )。

排名方式:

每道题的测试点都有对应分数,通过一个测试点就有一个测试点的分,赛后按照总分进行降序排序。

所以遇到不会的题可以手动打表,骗测试点,能过一个就有一个的分。

常见OI赛制比赛:

CCF CSP计算机软件能力认证(CCF CSP认证 (cspro.org)

蓝桥杯(蓝桥杯大赛 — 全国大学生TMT行业赛事 (lanqiao.cn)

牛客OI集训营等(牛客竞赛OJ_ACM/NOI/CSP/CCPC/ICPC_信息学编程算法训练平台 (nowcoder.com)

3. IOI赛制

IOI赛制结合了ACM赛制和OI赛制的特点,提交之后有反馈结果,甚至可以看到本题的具体分数和排行,可以反复提交,没有罚时,按最高成绩为准。

排名方式:

每道题的测试点都有对应的分数,通过一个测试点就有一个测试点的分,按照总分数实时排名。

IOI赛制可以各种暴力,各种打表骗分,骗测试点。

常见IOI赛制比赛:

拼题A(PTA)(PTA | 程序设计类实验辅助教学平台 (pintia.cn)

GPLT(Group Programming Ladder Tournament)团体程序设计天梯赛(团体程序设计天梯赛 (patest.cn)

CCF CCSP大学生计算机系统与程序设计竞赛(CCSP - 中国计算机学会 (ccf.org.cn)

洛谷入门赛、洛谷月赛(比赛列表 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

牛客周赛(牛客竞赛OJ_ACM/NOI/CSP/CCPC/ICPC_信息学编程算法训练平台 (nowcoder.com)

二、算法竞赛题目形式

算法竞赛一道题由六个部分组成:题目描述(Description)、输入描述(Input)、输出描述(Output)、输入样例(Sample Input)、输出样例(Sample Output)、更多信息(More Information)

1. 题目描述(Description)

题目背景,题目故事描述,题目操作步骤说明,部分概念的定义和解释

2. 输入描述(Input)

题目的输入格式,输入变量说明,输入数据范围

3. 输出描述(Output)

题目结果的输出格式,输出内容 注意:严格按照要求格式输出

4. 输入样例(Sample Input)

一组或多组满足输入描述格式的数据

5. 输出样例(Sample Output)

输入样例的正确输出结果。可以在本地IDE或在线环境调试输入样例得到输出结果,再跟输出样例进行比对,初步判断自己写的代码是否正确。(往往样例自测全过,一提交就WA了 ╥﹏╥…

6. 更多信息(More Information)

部分题目会在这部分对输入样例和输出样例进行解释说明,或者题目内部变量的取值范围说明。也有可能会透露解题的核心思路。

三、算法竞赛常见评测状态

AC:Accept,程序通过。

CE:Compile Error,编译错误。

PE:Partially Correct,部分正确。

WA:Wrong Answer,答案错误

RE:Runtime Error,运行时错误

TLE:Time Limit Exceeded,超出时间限制。

MLE:Memory Limit Exceeded,超出内存限制。

OLE:Output Limit Exceeded,输出超过限制。

UKE:Unknown Error,出现未知错误。

hwjw:这样看来还是打IOI赛制爽啊!!(☆▽☆)

shy:我个人认为 IOI > ACM > OI,但具体还要看个人喜好啦(有部分神犇喜欢OI直接看排名的刺激)

xcx:给了好多网站啊,已经迫不及待开始刷题了!!

shy:刷题不要盲目刷题,要按照知识点进行专项练习,做题不要一上来就看题解,要自己思考,要是超过半个小时还没有思路的话就不要死磕了,可以借鉴一下题解的思路,然后自己想想怎么打出代码。刷完题之后还要定期总结各类题型该怎么入手,总结做题时发现的新的知识点,不断地丰富自己的知识储备。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52784450/article/details/136598110

智能推荐

vue 点击一个按钮触发两个事件_vue事件点击穿透解决大法-程序员宅基地

文章浏览阅读3.4k次。最近在做项目的过程中遇到一个非常奇葩的bug,在h5页面点击一个按钮弹出弹窗,但是这个弹窗刚出现就会自动消失,导致屏幕出现闪动现象,关键这个bug还是偶现的。经过一番研究才发现是vue事件点击穿透引起的,而且弹窗一定要在300ms内出现才会引发这个bug,接下来分析具体原因:一,click与300ms延迟vue框架内置指令v-on:click有300ms的延迟响应,这是为了判断区分单击和双击。vu..._vue双事件

dp优化入门学习_dp优化的学习路径-程序员宅基地

文章浏览阅读132次。dp优化_dp优化的学习路径

【学习笔记】杜教筛_杜教筛 csdn-程序员宅基地

文章浏览阅读629次。φ∗1idφ∗idn。_杜教筛 csdn

autojs模仿抖音logo效果_牙叔autojs源码-程序员宅基地

文章浏览阅读1.3k次。牙叔教程 简单易懂效果展示为什么做看到别人的头像是这种风格, 虽然我不会去修改自己的头像,但是我想知道如何实现这样的效果,虽然写出来了, 不过我感觉还是不完全像抖音的效果, 可能还缺点啥环境手机: Mi 11 ProAndroid版本: 11Autojs版本: 9.0.10思路抖音的logo看起来像两张图片重叠的效果两张图片是透明的还加了偏移从原图搞两张透明图片, 再叠加你将学到以下知识点设置seekbar监听事件在seekbar监听事件中, img设置图片, 然后_牙叔autojs源码

计算机基础知识_1 gb=1024 mb,fsg≤1gb.64~256m 15个节点。10gb大的txt文件存储需要-程序员宅基地

文章浏览阅读924次。1、 第一台计算机ENIAC淡生于1946年,是电子管计算机;第二代是晶体管计算机;第三代是中小规模集成电路;第四代是大规模集成电路; 3、 计算机的信息表示形式为二进制,它采用了冯。诺依曼的思想原理,即以0 和1两个数字形式用于展现,“逢二进一”;它的基本信息单位为位,即一个_1 gb=1024 mb,fsg≤1gb.64~256m 15个节点。10gb大的txt文件存储需要存多少个g

java给pdf打水印_java pdf 画水印-程序员宅基地

文章浏览阅读134次。package test3;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Calendar;import com.itextpdf.text.BaseColor;import com.itextpdf.t._java pdf 画水印

随便推点

SQL语句多表查询-程序员宅基地

文章浏览阅读1.7w次,点赞6次,收藏43次。SQL语句多表查询_多表查询

使用Gitee多人项目协作开发的流程实例_gitee可以只开放部分目录给协作者吗-程序员宅基地

文章浏览阅读7.3k次,点赞8次,收藏60次。上一篇文章主要是初学Gitee,实现代码托管的功能,这一篇文章主要是学习Gitee协作开发的使用。这里我们用了一个企业账号来和两个社区账号进行演示。1.首先,企业账号下新建一个名称为协作开发测试仓库的公司主仓库,同时在仓库下新建两个分支lhy和lxw,同时仓库成员添加小组成员A和B。lhy用来存放组员A开发的代码部分,lxw用来存放组员B开发的代码部分。组员A、B此时在各自的账户下可以看到..._gitee可以只开放部分目录给协作者吗

idea上的maven形式的java web项目打包部署到linux的tomcat上_idea 接口发到linux 的tomcat中-程序员宅基地

文章浏览阅读378次。项目写好后,按照上述打成war包,丢到tomcat 的webapp目录里面,重启tomcat,访问链接是ip:8080/项目名/index.jsp_idea 接口发到linux 的tomcat中

详解离线安装Python库_python离线安装库-程序员宅基地

文章浏览阅读4.6w次,点赞12次,收藏22次。前段时间在项目上用到了离线部署Python环境及其依赖库,所以正好将离线安装Python库的解决方案分享给大家,希望能对新手有所帮助。文章目录1. 寻找库之间的依赖关系2. 使用requirements.txt进行批量安装_python离线安装库

python面向对象程序设计的三要素_第八章 Python——面向对象编程-程序员宅基地

文章浏览阅读561次。目录一、面向对象编程二、类class与对象object三、继承与派生四、多态与多态性(抽象类)五、封装六、绑定方法七、反射八、与面向对象有关的内置函数九、自定义内置方法十、元类十一、单例模式一、面向对象编程【面向过程编程】核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么。。。基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式优点:复杂的问题流程化、进而简单化缺点:..._python面向对象的三要素实例

ASTC纹理压缩格式(Adaptive Scalable Texture Compression)_astcenc-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏11次。ASTC(Adaptive Scalable Texture Compression)介绍Adaptive Scalable Texture Compression(ASTC)是一种世界领先的新型纹理压缩格式。这种压缩格式已经加入Khronos标准,并已在某些硬件平台中提供。本文介绍了它的工作原理、使用方法和如何最大程度地使用它。更深入的信息可以参考编码器提供的规范[Eva]。背景ASTC由ARM Limited针对目前已有的填充率较低的纹理压缩开发的一种灵活解决方案。在过..._astcenc

推荐文章

热门文章

相关标签