acm是什么?你准备好去打了吗?

news2025/1/19 2:31:25

  • 1.引言
  • 2.acm究竟是什么?
  • 3.acm的时间安排
    • 重点
    • 网络赛的作用
      • 1.名额分配
      • 2.校内选拔
    • icpc省赛
    • 省赛选拔赛(校内)
  • 4.acm该如何准备
    • 1.前期的算法积累
      • 1.Acwing 平台
        • 算法基础课 -y总业界良心。
        • 算法提高课 基本囊括了蓝桥杯的知识范畴
        • 算法进阶课(选) 算法中的高科技
    • 思维的锻炼
      • 洛谷 典题、原题自动机
      • Codeforce 锻炼思维的天堂
      • 牛客 小白、练习赛好题多多
      • vjudge
    • 我的建议

1.引言

作为一个零基础的小白,acm这条路走的并不顺畅,接触的信息很少,以至于在这条道路上走了不少弯路,浪费了大量的时间,现在也快要退役的阶段,想给青岛大学或者外校的学弟们写一篇博文能够清楚地认识一下acm和该如何备战acm。

2.acm究竟是什么?

引用官方的定义:
在这里插入图片描述

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

ICPC和CCPC的区别 在于比赛的范畴不一样,ICPC是面向国际,CCPC是面向国内。
但是二者都是含金量极高的计算机程序设计竞技大赛

3.acm的时间安排

每一个赛季的开始大致是从每年的7-9月份开始,赛季时间为一年。

重点

acm的赛程流程
9-10月: 一到两场icpc网络赛+一场ccpc网络赛
11-明年2月: 各个赛站的区域赛(相当于国赛)
以下是2022赛季(46届)的赛事安排

在这里插入图片描述

网络赛的作用

1.名额分配

在这里插入图片描述

当然了,校排指的是学校排名最高的队伍在所有学校的排名,是学校排名,校排就大胆地把希望交给你们学校一队了。

2.校内选拔

大部分高校在报名赛站的时候会采用各个队伍的网络赛排名校内分配名额,所以在打网络赛的时候也要拼尽全力,网络赛排名会影响到后面的报名赛站(名额按校内排名分配,排名高的优先)。

icpc省赛

接下来的比赛就是各个省内的cpc省赛,不同省份的省赛情况不同,山东省的比赛情况一般在明年4月。

省赛选拔赛(校内)

省赛没有区域赛对标的网络赛,需要校内选拔赛去分配名额,我们学校选拔的名额大概是15个队伍,学弟们要加油往前争夺名额哦!

4.acm该如何准备

1.前期的算法积累

打acm最重要的是两个东西 - 算法+思维,缺少一个都不可能走远。

算法的原始积累(如果你想免费自学的话,可能这里没有你想要的东西(因为我不是自学型选手))

1.Acwing 平台

在这里插入图片描述
当时有一位学长在群里发了一个1元钱的acwing的暑假每日一题,我怀着好奇心买了一次,然后我就开始沉沦上这个网站的学习氛围,然后在这里完成了算法的原始积累 。

算法基础课 -y总业界良心。

在这里插入图片描述
里面的算法内容非常全面,几乎完全囊括了你前期所必须学的所有算法。当你刷完算法基础和算法提高课之后,你的思维方式大大改变,开始有了一个思维的雏形,开始能够正确认识acm的竞赛的本质和题目考察性质。

讲讲个人,在我认识到算法之前,我的思维仅停留在暴力枚举,找规律上,当我刷完算法基础课的时候,我的思维就已经开始达到该如何去套用这些板子上,当时还是仅仅了解这些性质,但是刷算法基础课之前和之后你会有一种成就感,这是你收获到的第一个喜悦,其次你的信心,算法功底,思维方法会有大大的不同。

算法提高课 基本囊括了蓝桥杯的知识范畴

在这里插入图片描述
算法提高课与算法基础课最直接的区别是细化了不同的知识点,里面出现了许多经典的例题,是不同套路的一种经典思路和想法,例如dp从线性dp、简单dp到各种dp和dp的优化。对思维的锻炼也更大,对个人的要求也很强(对于前期开始学算法,C++的人来说)。 讲的最全的还要数动态规划,图论,高级数据结构,例题从简到难,简单至黄题(洛谷题目颜色,普及),难则至紫题(省选),是一种非常良心的课程。

算法提高课,其意义在于在你做题的时候,能够给你提供一个经典思路。看到题目之后,大概能够约摸猜出算法,但是不知道该从何下手,也不知道去怎么实现。 算法提高课可以给你一个经典的思考方式,当你猜出算法的时候会自动地按照这种经典思路去想,以至于能够继续推测,继续思考,然后想到正解 。同时,它又算是一次算法的一个大的积累,当你学完算法提高课的时候,其实已经可以涉及acm的相关知识,去锻炼思维,做相关的区域赛真题,开始自由锻炼的一个时期,已经可以考虑上场打acm了。

算法进阶课(选) 算法中的高科技

当你刷完算法提高课的时候,你所必须掌握的算法已经全部掌握,算法进阶课不过就是锦上添花,你刷完算法提高课,加上比较好的思维能力,已经具备拿牌的实力。算法进阶课涉及的大多数银牌、金牌算法,如果你有银牌、金牌目标的需求可以去爆刷一下算法进阶课。算法进阶课也并非全部刷完,数论和几何知识中的大多数算法属于暂时还开不到的题目(对于我来说是),算法进阶课我不推荐全部刷完(也不推荐购买,不推荐刷),当你刷完算法提高课的时候就准备思维上的训练。

在这里插入图片描述

思维的锻炼

我曾经在算法进阶课浪费了也算是很多很多时间,走了不少弯路,也是一种警示后人吧,接下来就是思维上的训练。

当你刷完算法提高课的时候,你已经具备了所有的所需算法。

我算法的原始积累用了一整个大一,大二时期有幸得到两位大佬的指点,myq(已授权)和zwz大佬,感谢他们在让我大二的弯路上走的少了许多。

洛谷 典题、原题自动机

洛谷是国内的oj,有许多中文题目,对刚入门的同学们来说是非常友好的练习网站。
在这里插入图片描述
当我刷完算法提高课的时候,我来到了洛谷去刷题,那个时期,我主要是以橙、绿、蓝为主,主要刷的题目大多都是来自于这个题单。
在这里插入图片描述
这个题单是典题的代表也是最常的出题方式,如果你要是想变强,这是一道必经之路,每一个算法都会有数道练习题 ,从简到难具有非常好的循循渐进的区分度 , 里面的很多题目比acwing的提高课更加典型更加值得一练 。

Codeforce 锻炼思维的天堂

感谢zwz大佬对我的指导,让我真正认识了这个平台,然后我也因此熟悉了各个操作和流程,给学弟们少走弯路,写一篇文章给学弟们做个指导。
codeforce主页面
在这里插入图片描述

先说一下codeforces的几场比赛

div1 1900 + 以上的选手才有资格报名参加,题目难度很高,div1A = div2C以此类推。
div2 没有rating要求,2100不计rating , 是一个比较中档、友好的一场比赛,大部分同学都能出题。
div3 没有rating要求,1600不计rating , 相较于div2更加简单,题目更加典型,思维含量较低
div4 没有rating要求,是一个面向零基础(刚入门)都可以去做的一场比赛。

这些比赛是codeforce常见的比赛类型,其他比赛类型还有div1 + div2 , edu场。

codeforce的特点。

每道题目都会对应分数和tag,在每道题目的右下方的 p r o b l e m − t a g s problem-tags problemtags能够看到
非常有利于筛选分数,筛选算法刷相关的题目
在这里插入图片描述

codeforces的 p r o b l e m s e t problemset problemset功能
在这里插入图片描述
在右方有一个 F i l t e r − P r o b l e m s Filter-Problems FilterProblems功能
在这里你可以筛选题目和筛选分数啦!当你想刷某些难度,某些算法的题目,你可以快速从里面筛选出来,非常方便!

赛后补题方面
在这里插入图片描述
我们可以看到左下角有一个 E n t e r Enter Enter V i r t u a l − p a r t i c i p a t i o n Virtual-participation Virtualparticipation按钮,其中 V i r t u a l − p a r t i c i p a t i o n Virtual-participation Virtualparticipation按钮就是虚拟训练的一个按钮,我们也把这个常说成 v p vp vp,vp模式下,你可以高效地模拟当时的比赛情况(出题数,排名 按照时间推进),是一个非常有效,有用的训练模式。

右边你也可以看到你vp的场次
在这里插入图片描述
V i r t u a l − p a r t i c i p a t i o n Virtual-participation Virtualparticipation开启组队模式时,可以从这里进入。

Gym功能 区域赛、新生选拔赛的真题演练
在这里插入图片描述
同样右边有一个 R e c e n t v i r t . c o n t e s t s Recent virt. contests Recentvirt.contests你可以从这里进入你vp的场次
在这里插入图片描述
当我们想vp某场区域赛的时候,我们可以从右边的搜索查询到相关比赛,然后找到对应的比赛,点击vj按钮,是组队训练的一个训练方式(比赛前一、二个月要一周两次vj) 。里面有近几年的区域赛真题和排名,也较好的模拟了当时的比赛情况,是高效训练的方式。

几句闲话:

当你想看别人打比赛的时候
在这里插入图片描述
红色按钮就可以看到朋友提交了。
关注方式:
在这里插入图片描述
五角星部分,黄色表示关注,灰色表示未关注。

牛客 小白、练习赛好题多多

牛客网站

牛客上有不少良心比赛
1.牛客小白月赛 对标cf div3
2.牛客练习赛 对标div3 - div2
3.牛客挑战赛 对标div1
在这里插入图片描述

小白月赛和练习赛是我推荐具有一定基础去爆刷的比赛,不一定只要打比赛,我们可以补以往的小白月赛和练习赛。
对于我来说,我几乎把所有的练习赛全部补了一遍,学到了很多东西和套路(没补f,大多数e) , 爆刷cf也可以达到同样的效果 。

别的比赛
在这里插入图片描述

寒假训练算法基础集训营 - 上分的最好利器(推荐程度五星) ,里面的题有非常多的好题,上分难度要比小白、练习赛简单。
在这里插入图片描述
暑期多校训练营 - 强烈推荐(推荐程度六星),打acm之前的准备工作,在这里你第一次接触到区域赛的难度,题目非常好,对标程度非常接近,而且会出现一些非常值得补题的算法,是打比赛的必刷的一个比赛 。

vjudge

后面继续更新

我的建议

学习的流程可以有两种:

  1. 学算法基础课、提高课 -> 洛谷、牛客刷题 -> codeforces刷题(后期阶段刷题最多的网站)
  2. 学算法基础课、提高课 -> codeforces、牛客刷题

我其实更推荐后者刷题,更适合acm的考查方式,也更锻炼思维,但是对个人的要求很高,大部分都是采取第一个方式去刷题。

1.补题的重要性
关于补题,赛时中未做出来的题目,赛后一定要及时去补,补题的重要性可能我没法描述出来。
一、只能从我身上讲一讲,当时大一时期我也不喜欢补题,我觉得做题只有比赛做出来才是真正做出来,但是随着比赛次数的增加,一些原来成绩在我下面的人反而一次一次的进步地更快了,通过跟他的沟通,他给我说他每场做不出来的题都会补,补题的重要性就在于把不会的做会。
二、再从我校的几个大佬讲一讲。
myq大佬的每场比赛都会补题,cf、牛客各种比赛都会补题。
下面是myq大佬的提交纪录可以看到myq大佬正在补题在这里插入图片描述
2.以赛代练
当我们有一场缺席未打的比赛,我们赛后想去补题,我的建议最好是用 v p vp vp(不了解 v p vp vp的可以翻翻上文)。
比赛给人有一种紧迫感,可以让你高效的做题,而且vp的时候看不到分数和标签,还完全模拟了当时的排名和通过人数,让你对比赛有一个比较好的基础认知。
在把vp当成习惯之前,我对比赛是挺恐惧的,想着多练练几道题提升一下思维再打比赛吧,我觉得对于每一个新手来说都是正常的,毕竟打比赛就是直面失败,失败肯定不是每个人都想遇到的事情,但是打比赛的训练效果又不得不提,所以vp所达到的训练效果是难以用语言去描述的,我也是借鉴了某群的群友李哥的学习方式,用到自己身上感觉非常有效,我也想把这个方式写在这里。
关于组队比赛,同理。

总结:想最快提升实力的方式就是多打比赛。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93310.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MYSQL 8.0 -- 事务中删除不存在的记录导致死锁

最近开发的某个功能中,线上偶尔会爆出死锁异常。再大佬同事的帮助下,最终排查出了原因,在此记录一下。 文章目录业务描述事务中删除行时锁的表现场景重现问题处理业务描述 在业绩信息维护中,可以维护相关人员列表,相关…

谁再问我 Kafka,我把这 43 张图甩给他

从Kafka诞生的早期,我就对Kafka投入了很多的关注,虽然不敢说精通Kafka, 但也算是非常熟悉了。 平时在工作之中,几乎天天都在跟这玩意儿打交道,在面试的时候,也会经常聊一些Kafka相关的内容。 Kafka 是一个优秀的分布…

二苯并环辛炔-二硫键-马来酰亚胺,DBCO-SS-Maleimide,DBCO-SS-Mal

基础产品数据(Basic Product Data): CAS号:N/A 中文名:二苯并环辛炔-二硫键-马来酰亚胺 英文名:DBCO-SS-Maleimide,DBCO-SS-Mal 详细产品数据(Detailed Product Data)&am…

C++--数据结构--并查集--高阶0711

1. 并查集 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个 单元素集合,然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一 个元素归属于那个集合的运算。适合于描述这类问…

如何使用Python批量化处理Excel——零基础入门指南

本教程旨在帮助零编程基础,但是又有“批量化处理Excel表”这种需求的大家。 在进入教程时,请确保你具有以下资质: 1、 并非工作压到头上了,急需解决一批表所以想过来速成,而是愿意耐心花上几个小时学习来获得一项长久…

Redis之相关拓展(事务、监控、Jedis)

Redis之相关拓展一、事务1、介绍2、流程3、shell命令3.1 开启事务3.2 放弃事务3.3 编译型异常(代码有问题,命令有错)3.4 运行时异常二、监控(watch)1、锁1.1 悲观锁1.2 乐观锁2、注意2.1 原理2.2 流程三、Jedis1、简介…

学习Opencv不得不掌握的操作

OpenCV基本操作 1 图像的IO操作 这里我们会给大家介绍如何读取图像,如何显示图像和如何保存图像。 1.1 读取图像 API cv.imread() 参数: 要读取的图像读取方式的标志cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的透明度都将…

C++ Primer笔记——explicit、string流、vector比较、emplace

目录 一.P265 抑制构造函数定义的隐式转换 二.P287 string流 三.P304 vector的比较 四.P307 在容器中特定位置添加元素 一.P265 抑制构造函数定义的隐式转换 举个例子,如果构造函数参数是string类型,那么当使用赋值符号进行初始化操作时&#xff0c…

leetcode -- ⽤最少数量的箭引爆⽓球(452)

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 x 处射出一…

数据模型篇之阿里巴巴数据整合及管理体系

第9章 阿里巴巴整合及管理体系 OneData的设计是为了建设统一的、规范化的数据接人层( ODS )和数据中间层( DWD和DWS ),通过数据服务和数据产品,完成服务于阿里巴巴的大数据系统建设 ,即数据公共…

2022 年 11 月区块链操作系统的开发回顾

查看 Cartesi Machine、Cartesi Rollups 和 Noether 的更新正在寻找区块链操作系统组件的最新进展?你找对地方了!正如在我们的路线图文章中所描述的那样,我们一直在朝着定期且频繁的更新方向发展着,以便让我们的社区能够及时的了解…

微服务框架 SpringCloud微服务架构 多级缓存 46 JVM 进程缓存 46.1 导入商品案例【MySQL环境准备】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存46 JVM 进程缓存46.1 导入商品案例【MySQL环境准备】46.1.1 导入商品管理案例46 JVM 进程缓存 用于在T…

新冠疫情下免疫的重要性以及肠道菌群在其中的作用

今年是新冠病毒影响的第三年了,在病毒的影响下,我们的生活方式发生了很大的变化。近日,多地政府颁布了疫情防控的新政策,除了一些特殊场所,出入其他场所不用扫场所码了。 从一方面说,这样的情况方便了我们日…

DAP数据分析平台可视化组件开发

企业信息化建设会越来越完善,越来越体系化,当今数据时代背景下更加强调、重视数据的价值,以数据说话,通过数据为企业提升渠道转化率、改善企业产品、实现精准运营、有效运营,用数据来指引企业的发展。 组件使用是在DA…

第一章:Pytorch简介和其三大核心概念

文章目录一:什么是Pytorch二:Pytorch优势三:Pytorch三大核心概念(1)tensor(张量)(2)autograd(自动微分-变量)(3)nn.Module…

java计算机毕业设计基于安卓Android的校园安保巡查系统APP

项目介绍 校园安保巡查系统APP管理是校园安保巡查系统管理中对学生必不可少的一个部分。在人们校园安保巡查系统管理的整个过程中,校园安保巡查系统APP管理担负着最重要的角色。为满足如今日益复杂的管理需求,各类校园安保巡查系统APP管理程序也在不断改进。本课题所设计的校园…

精华推荐 |【Redis技术探索】「底层架构原理」帮你彻底搞定Sentinel的实现原理运作机制

👮‍每日一句 最美好的生活方式是和一群志同道合的人,一起奔跑在理想的路上,回头有一路的故事,低头有坚定的脚步,抬头有清晰的远方! 👮‍ Sentinel存在的意义 👮‍ Sentinel出现的前…

如何快速传输大文件,介绍大文件快速方法

现在,企业比以往任何时候都面临着一个重大挑战:需要一个快速共享文件的解决方案。但是,并非所有快速文件传输解决方案都以相同的速度传输文件。文件大小、端点位置、路径、设备、防火墙、网络系统和加密需求都会限制文件的传输速度。 什么是快…

[附源码]Python计算机毕业设计个人相册管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

Java中的String类

一、String类的体系图 简单解释:1、String类实现了Serializable接口,说明String类可以串行化,可以进行网络传输。2、String类实现了Comparable接口,说明String对象可以进行比较。 二、String类介绍 String类是lang包中的类&…