首页 > 其他分享 >锦城学院ACM学习地图

锦城学院ACM学习地图

时间:2024-05-29 20:44:53浏览次数:24  
标签:竞赛 题解 推荐 地图 ACM ICPC 算法 网课 锦城

一、引言

团队介绍

比赛介绍

XCPC

  • ICPC
    ICPC(英文:International Collegiate Programming Contest,中文:国际大学生程序设计竞赛)由 ICPC 基金会(英文:ICPC Foundation)举办,是最具影响力的大学生计算机竞赛。由于以前 ACM 赞助这个竞赛,也有很多人习惯叫它 ACM 竞赛
    官网网址:https://icpc.global

  • CCPC
    中国大学生程序设计竞赛。
    官网网址:https://ccpc.io

赛制介绍

ICPC/ACM 赛制

一般是三个人组成一队使用一台机器,在比赛时有多次提交机会。比赛实时评测并返回结果,如果提交的结果错误会有 20 分钟的罚时,错误次数越多,加罚的时间也越长。每个题目只有在所有数据点全部正确后才能得到分数。比赛排名根据做题数来评判,做题数相同的,根据总用时来评判。总用时是每题用时的和。每题的用时是从比赛开始到做出该题的分钟数与该题的罚时之和。

一些 ICPC 相关赛事中,比赛结束前一小时进行封榜,封榜后的提交和排名将无法被其他选手看见。

在 ICPC 相关赛事中,选手允许带一定量的纸质资料。

赛季赛程

  • ICPC/CCPC 省赛/邀请赛 (4 月底至 6 月初)
  • ICPC/CCPC 网络赛(8 月底至 9 月初)
  • ICPC/CCPC 区域赛(9 月底至 11 月底)
  • ICPC EC Final/CCPC Final(12 月中旬)
  • ICPC World Finals(次年 4 月至 6 月)

训练介绍

二、能力的四个阶段

阶段一:【蓄势待发】

推荐时间:一个月

目标:学会C++基础语法,能用代码表达自己的想法

可得奖项:铁牌

image.png

重点在知识的获取,需要听课/看书都可

听一个知识点,然后用刷题网站刷几道类似题,有些太难的题没有必要死磕,跳过就好,当然,这里也推荐 acwing 网课,就是有点小贵,知识付费是非常合理的

这个时候发生的程序报错大多数可以询问 ChatGPT 解决

总之,为之后学算法做辅助准备

写 Markdown 推荐,Typora,obsidian 等

博客推荐:知乎,博客园,csdn

编译器推荐:dev-c++

需要掌握:

  • 学会使用 IDE
  • 要保证能解决一切 CE 错误,能看懂代码为什么报错了
  • 掌握如何写博客 markdown 语法,Latex,详见: 《Week0 Blog 对拍 Debug 复杂度.pdf》
  • 掌握时间和空间复杂度的估算
  • ACM中的基本错误,例如 WA,TLE,MLE,RE
  • 掌握对拍的方法
  • 有兴趣可以掌握一点点python

推荐书本:

  • 《信息学奥赛一本通》- 董永建 的 第一部分,基础语法
    image.png

推荐网课:

相关资料:

  • 《零基础语法入门.pdf》
  • 《零基础语法入门2.pdf》
  • 《Week0 Blog 对拍 Debug 复杂度.pdf》
  • 杭电100题 题解

刷题网站推荐:

阶段二:【初出茅庐】

推荐时间:三个月 ~ 一年

目标:掌握基础算法,背熟算法模板,有一定的思维能力

可得奖项:省赛/邀请赛 铜牌

image.png

这个阶段应该提升刷题的重要性,并且理解到程序是由算法模板和思维两部分组成的

对于 ICPC 来说算法模板是基础,思维是上层建筑,没有基础可以走的很快,但注定走不远

对于算法模板,需要掌握以下算法,当然也可以把相关的拓展了,这个时候就不得不拿出神图了

应该掌握 青色(入门),绿色(铜牌)的算法

那么如何学算法呢?还是一样,看课 + 看书 + 找大佬的博客看

比较推荐认准一本书,然后按照上面的知识框架,如果遇到看不懂的,再去找相关视频和文字,不建议一直看视频

看完视频之后,一定要理解算法思想,然后打开一个空的 cpp 自己敲一遍,之后去找相关题目,可以用洛谷的标签功能,也可以看我整理的提单,当然 VJudge 上有整理好的书后习题提单,也可以跟着做

此阶段学一个算法不宜过久,一周要过一个算法,一个算法学完后要刷 3-5 个相关题目,刷到什么程度算ok,就是把显示器关掉,能打出算法的核心代码

对于 STL 库,在此时也是需要掌握调用方法的,但是在此之前,强烈推荐用数组的方式把 stl 库都实现一次,排序也是同理

算法学累了可以练练思维,思维和算法应该是同步精进的

这里推荐两个网站,codeforse 和 atcoder,链接放在后面

这个阶段应该打 codeforse 的 (div4) (div3) 和 atcoder 的 Atcoder beginner contest 了,别觉得这两个网站是英文,打了之后有质的飞跃

codeforse 有利于增长思维,atcoder 有利于复习算法模板

刷题主要分为两方面,第一是跟着算法模板刷,第二是打网络赛

网络赛是在有限时间内解题,能提示我们的算法运用能力

除了上面提到的 codeforse 和 atcoder 的网络赛之外,国内的 牛客竞赛 的小白月赛也非常推荐打,并且都是在 B站有免费讲解的,B站 搜(牛客竞赛)即可

推荐书本:总体来说,国外的书读起来要有趣的多,但是相对来说速度要慢一点,我个人还是比较推荐国外的书的

  • 《信息学奥赛一本通》- 董永建 的后面部分,这本书依旧非常经典

  • 《挑战程序设计竞赛》这套书的 1 和 2 不是递进关系,感兴趣可以先看 2,然后挑 1 的某些章节看,对于此阶段来说,2 比 1 要重要点,国外的书启发性非常好
    image.png

  • 《算法竞赛进阶指南 (李煜东) 》这本书可以挑动态规划的章节看,理解非常深刻
    配套资源仓库

  • 《算法训练营》新出的一本书,非常生动形象的图解算法

  • 《挑战编程:程序设计竞赛训练手册》- Steven S. SkienaMiguel A. Revilla
    一个西班牙人写的,非常生动有趣

  • 《算法竞赛从入门到进阶》(罗勇军, 郭卫斌)
    经典黑书,但是本人不是很推荐,初学者容易读蒙,对自己比较自信且学习能力强追求速成的可以考虑黑书
    image.png

推荐网课:不推荐全程都听网课不看书,因为网课会给人一种我懂了的感觉,而且网课经常有地方讲错,但书的错误很少,这里不推荐 acwing 的网课,原因qwq懂得都懂

推荐网站:

相关资料:

  • 《【初出茅庐】算法入门阶段必做题 (动态更新ing).pdf》作者:Martian148 需要全部刷完

阶段三:【渐入佳境】

软件推荐:vscode + Ubuntu 系统

推荐时间:六个月 ~ \(\infty\)

目标:掌握某个领域的所有进阶算法,并且思维到了一定高度,cf1900,能自己指定学习计划

可得奖项:邀请赛金 / 区域赛银

image.png

这个阶段可以和队友分方向,也可以选自己感兴趣的领域,把这个领域的所有算法都掌握,然后每个知识点刷 1~3 道题,不需要刷到能默写的地步,因为 ICPC 能带板子,只需要做到知道用这个知识点,看着板子就能打出来

这个阶段也没有固定的训练方法,大体思路就是:

刷题 \(\rightarrow\) 补题 \(\rightarrow\) 查漏补缺找到不会的算法 \(\rightarrow\) 把算法学了 \(\rightarrow\) 找几道相关的题目再练练手

刷题的平台有很多,SPOJ,USACO,包括我前面提到的 cf 和 at,主要推荐如下:

  • 历年区域赛题目,gym 上面有
  • atcoder 的 arc 和 agc
  • codeforse 的 (div2) (div1)
  • 牛客的各种比赛,多校的质量很高,各个学校校赛,但是弱校校赛的弱智题和模拟题居多
  • HDU 的题目质量和很高
  • USACO,奶牛OJ,非常利于巩固算法,但是代码写起来比较繁杂

训练的方式可以很多,用网站的 vp 功能,或者再 vjudge 上面自己选难度合适的组题,限时训练

如果组题 cf 推荐自己的 rating + 300~400 的题目比较合适

也可以就顺着刷之前的比赛,倒着刷,从新往旧刷,看自己能不能在 30 分钟内想出思路,如果没有就去看题解,一定一定一定要独立思考,不要上来就看题解,如果题解中有自己没学过的算法,如果恰好是自己方向的就去学,如果不是选学

做题时小坑点都要记下来

网络赛后如何补题: 先给自己延一点时间,把来不及写的题写了,然后去看没有看题面的题,还是按照上面的思路,不要去看题解,要给足自己思考时间

晚上有空就冲 cf 和 at 网络赛,争取分数往 1900~2100 冲,周末可以和队友一起组队 vp 一场区域赛

赛后一定一定一定要记得补题,补题的重要性远远大于做新的题

可以对做过的题写题解并分类整理

可以看一些与算法没有直接相关,但是能给人很多启发的书,例如:《具体数学》,《博弈论》,数学和算法是分不开的

这个阶段要学会看大佬的博客,大佬往往会对算法有更深层次的理解

书籍推荐:

  • 《算法导论》 经典中的经典,可以选章节选读,我想也没人想读整本书吧
  • 《具体数学》 非常有意思的书,相信你读了就会爱上的
  • 《程序员的数学2 概率统计》 日本人写的,也非常有趣

网课推荐:

阶段四:【登峰造极】

目标:对算法有一点的转化,并且能在考场上搞出点奇奇怪怪的算法

可得奖项:区域赛金牌,ec final银金,wrold final 入场券

由于本人没有到达这个水平,放点资料qwq

相关资料:

  • 《集训队论文》

三、结语

先说点题外话

  1. 善用搜索引擎吧,有时候Google和百度搜出来的题解不一样
  2. 写写题解,整理个自己的模版,或者搭个自己博客,把写的东西呈现给别人看,还是蛮有意思的
  3. 别自欺欺人的拿天赋说事了,以绝大部分人努力程度之低,完全到不了拼天赋的地步。沉下心,踏踏实实的学,好好看书比干什么都来的现实,实验室的门为愿意学习的人永远敞开
  4. 只有自己足够强,才能和足够强的人组队,才能比赛拿牌,不要总想着抱队友大腿,自己变强比什么都来说明都来的好
  5. 训练累的时候,可以刷刷知乎,刷刷大佬博客,看看大佬回忆录,比赛游记什么的蛮有意思的,放松以下
    Martian148 又是夹带私货

我们为什么要打 ICPC

这个问题一定一定要想清楚,其实对于现在来说,icpc对于没有零基础的选手性价比一年比一年低,随着oi日渐发展,区域赛拿奖的难度也在递增,如果想过于功利化的来打 icpc,说为了这个好工作,其实我本人是比较劝退的

大家可以看看这个问题:知乎 - 为什么要参加ICPC竞赛?

对于我个人来说,选择走这条路就这一点原因吧:

  • 眼界,不出去走走不会不知道外面的世界有多大,这个圈子有着许多大佬,我通过比赛,认识了许多985,211高校的大佬,与他们交流对我帮助巨大,我也努力追寻他们的脚步。同时也不会盲目自大,觉得自己在 JC 前几就沾沾自得了,不盲目自大,对知识保持敬畏之心是 ICPC 教会我的,我也经常对自己说:

    我虽之自己愚笨,不敌天才半分,但此生何其有幸,曾于天才同路而行

  • 坚持,大学四年,不能虚度光阴,打算法竞赛总比在宿舍里面打游戏来的好,能找到两个志同道合的朋友,不断去学习新的知识,不断去突破自我,虽然比赛总打铁,但这些熬夜补题,写题解,打 cf 的经历,在日后想起来也是一段热血的经历,证明我们在大学依旧保持一股冲劲

  • 自信,icpc 是计算机类的顶级赛事,像蓝桥杯等比赛,顶级高校都是不屑于参加的,但是 icpc 赛道云集了各路大佬,我高中竞赛老师经常和我们说这句话:

    竞赛生有一种从骨子里面散发出来的傲气,有一种破釜沉舟的勇气,一种乘风破浪的精神,和一颗永远胜不骄败不馁的心

    icpc 是一个没有任何强校天生优势的比赛,是绝对客观的,也让我们搏杀985,211等顶级强校学生的机会,证明自己高考考不过他们仅仅是其他原因,不是自己比他们笨,或者比他们懒,这样不爽嘛哈哈哈

讲了这么多,其实就一句话,打 icpc 挺有趣的,不是嘛qwq

总之,既然选择了走这条路,就静下心来,好好的把这条路走好,如果决定了不走这条路,也不要浪费大学是时光,去享受生活,或者去做其他有意义的事情,当然,人生也不止于算法竞赛

标签:竞赛,题解,推荐,地图,ACM,ICPC,算法,网课,锦城
From: https://www.cnblogs.com/martian148/p/18221024

相关文章

  • 【ACM出版,多高校单位支持 |人工智能等计算机领域 ei 会议,EI Compendex, Scopus检索】2
    2024人工智能与自然语言处理国际学术会议(AINLP2024)将于2024年7月19-21日在中国·珠海召开,该会议作为第四届人工智能、自动化与高性能计算国际会议(AIAHPC2024)分会场召开。本次会议主要围绕“人工智能与自然语言处理”的最新研究展开,旨在荟聚世界各地该领域的专家、学者、研究......
  • SUMER UI3.0组件库,基于Uni-app前端框架!一端开发,多端运行!本组件库可快速二次开发各种类
    sumer-ui介绍基于uView微信小程序UI组件库,兼容vue3。本插件是SUMER组件库,只提供组件库源码下载(不包含模板源码),本组件库可快速二次开发各种类别各行业模板,包括:商城、视频、直播、聊天、支付、新闻、社区、地图、导航、出行、社区、博客、新闻、游戏、影视、订票、广告等,......
  • Vue+OpenLayers7入门到实战:OpenLayers实现在地图上拖拽编辑修改绘制图形
    返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战前言本章介绍如何使用OpenLayers7在地图上拖拽编辑修改绘制图形。在前面一章中,我们已经学会了如何绘制基础的三种图形线段、圆形和多边形:《Vue+OpenLayers7入门到实战:OpenLayers图形绘制功能,OpenLayers实现在地......
  • ACM CCS CONCEPTS 翻译
    根据ACM的出版要求,请在正文中关键词的下面补充CCSCONCEPTS部分。CCS操作如下:登录https://dl.acm.org/ccs选择,根据自己研究方向选择类目,复制张贴CCS中所选类目的文字。并将CCS的代码复制在文件的备注栏(请参考ACM-2的操作指引)。目前首页总共有13个类目,含义和内容分别如下:G......
  • 谷歌地图 | Google I/O '24 重磅发布助力企业拓展海外市场的新功能!
    编者按:本文是GoogleI/O2024系列的一部分,该系列分享了Google年度开发者大会上最新的GoogleMapsPlatform新闻。距全球首个GoogleMapsAPI问世已近20年。它引领了网络和移动端地理空间体验的革命。从那时起,GoogleMapsPlatform始终与开发者社区携手共进,不断发展,功能......
  • Leaflet地图
    Leaflet是一个为建设移动设备友好的互动地图,而开发的现代的、开源的JavaScript库。Leaflet设计坚持简便、高性能和可用性好的思想,在所有主要桌面和移动平台能高效运作,在现代浏览器上会利用HTML5和CSS3的优势,同时也支持旧的浏览器访问。1、安装配置在官网中下载上方......
  • SeaCMS海洋影视管理系统dmku存在SQL注入漏洞
    漏洞描述SeaCMS海洋影视管理系统的'dmku'接口存在SQL注入漏洞,攻击者可以通过发送特制的HTTP请求,在未经授权的情况下向数据库注入恶意SQL代码,从而执行任意SQL语句。该漏洞利用了应用程序在处理GET请求参数时,没有对'id'参数进行充分的验证和过滤,导致可以通过改参数注入SQL代码fofa......
  • 重磅:Echart地图的配置项。
    Hi,大家好,今天分享一下Echarts地图的配置型,掌握了这些配置项就可以各种各样的效果。1.title:标题配置项,包括主标题和副标题的文本内容、样式、位置等。2.tooltip:提示框配置项,包括提示框的触发方式、显示内容、样式等。3.legend:图例配置项,包括图例的位置、布局、文本样式......
  • css3实现类似地图定位循环扩散光圈效果
    html123456789<divclass="icon-warnCom">        <iconclass="icon-warns"><iclass="dot"></i><iclass="pulse"></i></icon>    </div>    <divcla......
  • 有哪些地图采集软件可以采集商家数据导出功能?
    1.国内商家采集寅甲地图数据采集软件寅甲地图数据采集软件一款多关键词多城市同时采集百度地图、360地图、高德地图、搜狗地图、腾讯地图、图吧地图、天地图商家、公司、店铺的手机、座机、地址、坐标等数据信息的软件。2.国外商家采集寅甲谷歌地图数据采集软件专为做外......