训练指南

作者:栗子
链接:https://www.zhihu.com/question/361696776/answer/941393147
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

全文大概 3000 字,首先简单介绍了蓝桥杯竞赛的相关规则,然后详细描述了每个等级的路该怎么走。
至于蓝桥杯到底有没有用,仁者见仁,智者见智。
指示牌上写好了路的方向,走不走,值不值得走,怎么走,都在于自己。

蓝桥杯按照院校和题目难度分有 A、B、C 三类;按照语言划分有 C/C++、Java 两类。
其中参赛 B 类的人数最多(B 类参赛资格是非985/211的本科或者专科),语言方面 C/C++ 参赛最多。
题主没有描述清楚自己属于哪一类,参赛语言又是什么。
既然提到自己大二,为考研做准备,那应该至少是 B 类,没有提到 Java,默认题主应该是 C/C++ 组别。
猜想一下,题主极大可能属于 B 类,C/C++ 组别。

除了上面难度级别以及语言分类之外,对于蓝桥杯我们还应该了解,其分为省赛和国赛。
省赛是每年三月末到四月初,国赛在五月末。
晋级国赛的资格是省赛取得省一等奖。
省赛成绩在自己语言组别省份中排名前 10% 便可以获得一等奖。(二等奖 20%,三等奖30%,也就是前 60% 就有奖)
不管是 A 类还是 B 类,省级二等奖和三等奖基本上是没有什么含金量的。
省一等奖含金量也并不高。
A 类至少国三,B 类国二,才有一定含金量。
所以,千万不要认为自己拿了一个省二就很不错了。(大一的话还可以,比较有潜力)

基本介绍完了,接下来介绍下如何取得省一等奖和国三以上吧。
做到以下三点,一切足以。
掌握竞赛涉及的语言的基本语法,学习和熟悉竞赛中常用的一些函数(API),无需背,比赛提供 API 文档。
至少看一本算法入门书籍(重点推荐《算法竞赛入门经典(第二版)》和《挑战程序设计竞赛》),不要求书中算法全部掌握,但要求对基础算法以及算法竞赛有个认识,知道算法竞赛是什么,为什么要参加,能收获什么,又该如何去入门与进阶。
刷题,刷题,刷题。找一个适合的 OJ 平台,针对性刷题,刻意训练。对于能否取得好成绩,这是最重要的一部分,没有这部分,就算比别人看的基础算法书多几本,也很难取得比别人更好的成绩。
注意:刷题固然重要,但是一定要刻意练习,刻意刷题!而不是盲目刷题。
在刷题之前,一定要先看书籍,清楚明白自己为什么要刷这些题目,这些题目刷完能学到收获什么,对于自己整个算法知识体系的建设起到了什么作用。多总结,刷完题最好是把思路和答案分类整理起来,以后遇到同类题型的时候,进行对比和分析。

一、C/C++ 组别
第一阶段,省二到省一水平(基础较差开始)
1、学习 C 语言的基本语法(指针用得较少,文件基本上不会使用)

2、买一本竞赛算法书籍,入门算法竞赛。推荐《算法竞赛入门经典(第二版)》。
前四章是 C 语言基础语法和算法竞赛知识入门(程序设计入门、循环结构程序设计、数组与字符串、函数和递归)。
配合一些优质网上博客进行学习,看完《算法竞赛入门经典(第二版)》这四章差不多就知道算法竞赛是什么了,能够解决最基础的一些算法题。
这阶段会了解到 OJ 网址是什么,怎么去 OJ 网址刷题。在网上可以找一些比较好的 OJ 网址刷题入门指南,做一些基础题的练习,50-70 道差不多。(推荐在 Hdu OJ 的第2000-2099中选择)

3、接着学习《算法竞赛入门经典(第二版)》的第 5 章(C++ 语言入门),这一章稍微看一下,了解怎么将 C 语言写的代码改为 C++ 语言,另外重点了解 C++ 的 STL 中封装的一些算法,比如排序相关算法、比较相关算法、交换算法、二分算法、排列生成器算法等,STL 库中封装了这些算法,并且实现的性能大多数情况下比这阶段自己写的更好。
在后面的章节中,会学到这些算法的思想和如何实现。尽管有了 STL 库,也一定要学这些算法的思想和实现。不管是蓝桥杯还是工作面试,手写这些算法以及他们的变种都被考过无数次。
这阶段,可以找 5-10 道简单题练手(时间充足的话可以多一些)。

  1. 接着开始学习第 7 章和第 8 章。
    第 7 章主要涉及到的内容:最基础的暴力枚举,排列组合算法,回溯法,深度搜索算法,广度搜索算法。
    第 8 章主要涉及到的内容:算法效率分析(时间复杂度,空间复杂度。竞赛中每道算法题都是有时间和空间限制的),分治算法(二分法),排序和检索(上面提到过 C++ STL 库中封装过排序和检索算法,学习的时候要举一反三,结合起来一起分析运用),贪心算法思想和题型入门(很重要的算法之一,入门简单,进阶很难。这阶段涉及到了“区间相关题型”,“部分背包题型”,“哈夫曼压缩编码思想”。网络寻址中的最小生成树就是运用的贪心算法思想)。
    学到这一步的暴力枚举、排列生成,并且刻意训练的总刷题量超过 120 道,不管哪个省,正常发挥,基本上是省二以及以上。
    同时,做题要注意正确率,要是竞赛的时候会做但不小心做错,很多情况下题目就是0分,说不定明明是省一省二水平,却省三都没有拿到。
    这例子非常多,也非常重要。谨记。明年成绩出来后,一定会有一大片人惊讶,为什么我感觉自己省一,却省三或者根本没有拿到奖。

第二阶段,稳定省一到国二级别(A组到国三级别)
1、完成第一阶段所有步骤后,继续学习第 7 章和第 8 章的其余算法,每种算法类型对应训练 8-15 道题目,难度逐渐递增,并且举一反三,多总结,尝试对每种算法类型题型找到自己的解题方法论。
同时可以配合多本算法书籍一起看,比如贪心算法,可以同时看下《算法导论》的贪心算法那一章,排序、检索其他等算法同理。
刷题的总结过程中,可以配合网上优质博客分析更多的思路、优秀的代码习惯以及解题技巧,同时可以尝试学习模仿下,让其解题技巧成为自己解题技巧一部分,更高效稳定地刷题。

  1. 这阶段完成之后,可以看下第 9 章的动态规划,这是基础算法里面最难的算法之一。先稍微入门一下,学会动态规划的几种基本题型,比如“背包”系列题型、最长上升子序列、最长公共子序列等最xxx子序列题型和它们简单的变种。
    然后看一下第 10 章的数论,这部分不难,但是很重要。

  2. 完成了上面的步骤后,差不多可以开始学习第 6 章的数据结构了(大一应该都安排了《数据结构与算法》这门课,这是非常重要的一门课),同时要学习好《数据结构与算法》这门课,掌握各类数据结构的思想原理实现方式。
    可以到中国大学 MOOC 网、B 站等学习网址学习这门课。
    这里推荐两门课:浙江大学陈越老师带领讲的《数据结构与算法》,北京大学郭炜老师讲 的《算法基础》系列课程。
    前者是《数据结构与算法》相关,后者是简单的算法相关。
    这阶段除了学习第 6 章数据结构外,还要学习下 C++ 的一些其他操作了(算法竞赛相关的),比如 STL 中的 vector、set、map 以及结构体和大整数等,这些内容在第 5 章。
    这一阶段,除了非常特殊的情况,基本上是用 C++ 解题。

3.再往后, 第 11 章主要讲的是图论进阶,里面也会结合一些动态规划、贪心算法(他们本身就密切相关)。

同样,该阶段每一种算法题型都对应刷题 8-15 道。
然后多找比赛参加,比如牛客网、CF(codeforce)等,该阶段在 CF 上再刷几个月应该可以达到 1400-1700 分左右

睡觉了,过几天再继续补充。
后续补充,进阶 B组国一(A组国二),其实就是走 ACM 的路了。
然后补充一下,Java 组的走法。
以及整体的排版。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容