Skip to content

算竞前中期指南 / 训练建议 v3.4C ​

修改于 2025.06.13,cf 2644 & 2024 XCPC 4 分赛站全金

作者:SATSKY

有些人打不开 md,所以本地文档用 word 写。部分内容漏/重/顺序不当,还未精修,但真写不动了。而且还想补充很多内容,就先把残缺版发出来凑合着看吧。


前言 ​

因看到太多令人痛心的训练方式(和故事,和结局),在此为初学 / 经验没有那么充足的算竞爱好者和 xcpc 选手:

  • (以防万一)传播一些基础资源、交流渠道和常识;
  • 加以解释(废话很多)地给出一些主观认识,并指出若干常见的致命错误训练方向 / 习惯;
  • 并输出所有能想到的训练建议

[适用范围] ​

默认你对算竞感兴趣(不论原因),且认为算竞对你的生活起积极作用,且愿意投入不算太少的时间,另:

  • 娱乐选手(不考虑比赛): 能从纯入门用到至少 cf 2400(但如果你现在 cf 2400 那这篇文章大概对你没用…这文常识性内容太多);
  • xcpc 选手: 能从纯入门用到至少 xcpc 区域赛金牌中下区主力(同上)。

[内容梗概] ​

…()


正文 ​

A. 自由训练(享受算竞)怎么训(xcpc 的训练方法在此基础上作调整) ​

[开销 / 算竞的社区性质] ​

如果你不准备参加任何线下比赛:

算竞本身一直以来都是社区性质的,完全可以开销为 0,不影响你的训练效率和可达高度;

  • 存在众多与算竞相关,(大多)不受任何机构介入,用途各异的全国规模群聊(当然也有全球的),什么东西都能交流 —— 群组索引 | ACMer.info
  • 算竞相关的任何技巧也都能在网上找到博客,不用问人,免费学习;
  • 有充足(且免费)的:训练用题库和可虚拟 / 实时参与的线上比赛;最具代表性的为 Codeforces(见下);其比赛的等级分(加上一些证明)可以成为很好的实力象征;
  • 最权威的线下比赛(对非中学生而言,国内是 xcpc 区域赛 / 总决赛,国外是 icpc 世界总决赛(wf)和很多赛区的 icpc 系列赛)(除了极个别分赛站完全不放出数据)都能虚拟免费参与;
  • 如果对 xcpc 的题目风格感兴趣,存在针对 xcpc(3 人比赛)奖项,含非尖端技术的线上付费训练赛,可不用,且相对参赛开销较便宜
  • 没有任何课程性质的东西针对自由训练,因为都可以自己学
  • …

总之,交流方便且不存在资源垄断,会用搜索引擎,再加没有机构介入的群偶尔问问大方向,这些训练资源就足够你上 LGM / 有去 世界总决赛 的水平(顶尖水平)了。

如果你准备参加线下比赛获奖(仅在校大学生):

奖项就不怎么社区了,利益相关引来了过多杂赛;其他杂赛都各有过大的问题(见杂项),仅讨论类 xcpc 比赛(xcpc 区域赛 / xcpc 总决赛 / wf / 省赛市赛 / 邀请赛等),

  • 不要相信任何 oi / ioi 赛制比赛
  • 类 xcpc 比赛各训练资源如上,不存在资源垄断
  • 类 xcpc 比赛的开销比较恐怖,大头在交通住宿费;经济压力视学校报销力度和奖金而定(可能为负);
  • 存在针对 xcpc(3 人比赛)奖项,含非尖端技术的线上付费训练赛,可不用,且相对参赛开销较便宜;同样可能有学校报销
  • 本来可以说 xcpc 有社区性质,毕竟技术透明,队伍 / 学校间交流活跃,多年社会各方支持和承办方平均亏本办赛…但今年 icpc 出了严重问题(icpc 组委会一直是烂的)

所以在"不提及杂赛"的同时,本文关于类 xcpc 比赛只作基本说明和讲如何打好,不讲该打哪些。


B. 一些定义 ​

1. 算竞内容拆解 ​

我们不加解释地将需要训练的主要内容(不含团队配合,自我健康管理等细节)拆成 4 部分:

部分说明
(非套路)思维一切的基础
套路 - 非科技套路套路中偏思维的部分,多可以凭思维直接碾过去,讲起来也不太复杂,或一点就通;用到时大多直接写,不好统计
套路 - 科技套路中偏积累的部分,偏难 / 很难现场发明,学习基本要花若干分钟或小时看博客搞明白原理 + 搓个代码找模板题提交验证正确性;用到时可以复用本地的"模板",较容易统计(只用几小时)
稳定计算,繁杂逻辑,代码实现,陷阱等

2. 题目难点分类 ​

另将算竞题的难点大致分为 思维 / 套路(科技与非科技)/ 稳定(计算,繁杂逻辑,代码实现,陷阱等) 三大块,根据三者占比可将题分为 思维题 / 稳定题 / 科技题(/ 混合题) 三类(非科技套路可以融在思维里),以和需要训练的 4 块内容相呼应(团队配合,自我健康管理等细节另说)。

3. 板题 ​

指以套路为主要难点而思维难度不足的题。


C. 算竞社区对算竞题目风格的主流观点 ​

Codeforces ​

对于全球性的算竞社区,做同一件事的组织只需要一个——事实上:比赛网站,题库和交流平台的需求都被一个叫 Codeforces 的网站包圆了(我们先不提别的地域性较强的网站),可以说 cf 就是全球算竞社区的代表。

另外,cf 的大部分题目由全球爱好者投稿,每场比赛有两三万人参与,且几乎所有顶尖选手都使用该平台比赛和训练;这说明 cf(contests 板块)的题目风格足以反映社区对算竞题目风格的主流观点:

(由包括但不限于以上原因,自由训练算竞爱好者的水平基本由 'cf 比赛等级分(cf rating)' 衡量";以下我们将"自由训练(享受算竞)怎么训"视为"cf 怎么训"。)

[观点] ​

  1. 对于每个算竞题思维一定要作为主要难点,至少是主要难点之一;
  2. 非科技套路既是增加题目多样性的工具,也是思维的延伸,越往后综合性越强,但可以没有;
  3. 科技同样有增加题目多样性的作用,但本身在思维上的花样不多,一般仅可选地用"简单科技"(并查集,线段树之类)作为思维的载体(这大概是为了尽量避免科技区分掉其他 3 方面更强的参赛者,毕竟精通每一个领域的成本过大;科技并非无趣,只是为了良好的竞赛体验需要取舍。);
  4. 稳定部分的难度没有定规,同非科技套路(抓细节,精确手算,优美的代码实现等也是算竞魅力的一部分)。

[关于 cf(contests 板块)的基础信息] ​

  • cf 有若干种主要场次:div.1~4 / div.1+2 / Edu(div.2),简称 div.* 为 d*
  • 编号越小越困难,具体见 CFTracker 难度分(800~3500,100 分一档)分布
  • div.1+2 难度可拆为 d1 和 d2,但题目风格有微妙调整,不展开;
  • Edu,d3,d4 全部出自官方固定出题组,偏教学性质,d1,d2,d1+2 多由各地爱好者投稿,代表性更强;
  • 非教学性质的题目相较场次与题序,其题目风格用难度分衡量更准确;题目风格放在"训练大方向"里 4 部分拆开来讲。

[关于类 xcpc 比赛的基础信息] ​

引用一下这篇文(未经授权):【打破信息差】萌新认识与入门算法竞赛 - 知乎

以下针对 xcpc 区域赛,对省赛 / 邀请赛略作提及。


D. 训练大方向(cf / xcpc) ​

思维 ​

本身性质:

最难练,本身在比赛中也最重要(不以思维为主题那根本就不算赛题),基本决定上限;思维可以显著降低其他 3 部分的训练难度 / 成本,具体见后;

(旧版内容)

思维直接关系到写题 / 学习,透彻理解新东西(理解后几乎不需要记忆)/ 学新算法 / 经验积累迁移的效率以及水平上限;尤其在前中期,如何提升水平的问题可以近似地等价于如何提升思维的问题;脑力提升 / 思维经验积累的作用是全面性的,不局限于算竞的各方面。

cf 题目风格:

(除了带有"教学"性质的 Edu 场和 d3,d4 的最后一两题偏非科技套路),思维在所有题目中都作为主要难点,其他 3 部分的含量和难度在任何难度段下都不会超过思维部分。

如何自由训练:

(对 cf 本身的使用在"训练资源"部分,个人的若干技巧在最后"杂项"部分)(这跟问如何去世界总决赛有什么区别…)

任何情况下训练都应侧重思维;应该说在思维上的投入绝不能少于 7 成。

xcpc 区域赛题目风格变化:

xcpc 与 cf 差不多,几乎所有题都以思维为重;xcpc 较 cf 思维外的其他 3 方面要求更强(原因很好理解),但本质区别不大。

xcpc 区域赛的训练策略调整:

策略不变。考虑到长期影响,其实纯娱乐则训练资源中思维部分的理想平均占比应还略高于 cf;参加偏奖项性质的比赛(更注重积累)则略低于 cf。


非科技(偏思维)套路 ​

本身性质:

  • 在比赛中基本渗透在每个题目里(反之称这种题为 ad-hoc,在常规的比赛中占比小于三成);
  • 越往后花样越多,难以强行记忆;几乎无法统计和整理(本质化后勉强可以,但没有实际作用)
  • 随题目复杂化,赛时枚举的难度随题目难度几何式增长;

与思维的关系:

  • 思维差一个大档次(rating 差 400 分左右),理解同一非科技套路的用时可能有数小时到数分钟的区别;
  • 理解的深度(拆解 / 本质化)也会质变;理解深度足够可以"在比赛中通过分析需求本质(本能地)快速匹配可用的 / 排除不对的非科技套路",有极大的收益;如果你常有"想了很久最后发现方向走错"的情况应该能明白这点;
  • 透彻理解可以极大增强"研究非科技套路得到的本质 / 分析经验迁移至同质 / 后置套路"的效应(一通百通),也反哺思维;

cf 题目风格:

贯穿全程,含量和难度逐级递增,可能在任何难度档与思维难度并列。

如何自由训练:

(把反例放在这里更好)

相比于花额外时间专项训练,保持较高强度的无向训练对掌握非科技套路更有效率:

  • 在较高强度的无向训练下,对每个非科技套路的熟练度与其出现频率大致呈正比,分配的精力合理
  • 反观特意的专项训练,若经验不足很难判断哪些常用哪些不常用,最坏情况下会完全浪费时间;专项训练也不可能覆盖到所有非科技套路);

不想因没学过的知识而卡题,浪费时间?因缺乏知识(或纯脑梗)而卡题,消磨时间是算竞不得不品的一环。每个人都该对训练 / 比赛卡题怎么办有一套方案。

对于非科技套路,(由于"不可能全覆盖",仅缺乏知识这个因素也是躲不掉的,每个人都该对训练 / 比赛卡题怎么办有一套方案)

应对训练卡题的一种方案是"能想的都想过了"就停下,这时卡题不会使训练效率下降太多,甚至因人而异效率反倒最高?因缺一些非科技套路卡题不会对训练效率怎么样的,大不了碰到再学就是…

关于记忆:对非科技套路专项训练后,如果没有用思维透彻理解,想以后能用出来就需要长期记忆,(根据那什么什么曲线)要不时再次使用——而无向训练完全可以满足这个需求,比特意复习省事的多:遗忘的部分较多也不是坏事,不时现场重新研究能加深对非科技套路的理解和淬炼思维;

另外重申:思维足够则对非科技套路的所有投入(特意学习,复习,记忆)都不需要了。

总结: 如果不急,需要花额外时间专项训练非科技套路的情况 / 人基本没有。

在不急用的情况下(由于追求以尽可能高的思维水平学习科技)学科技最有效率的方式是在无向训练(相对于专项训练)中碰到在学,一次吃透,可选地吃透相关科技。不过那些专项训练题单可以起到查漏补缺的作用(前提是你知道哪些东西有用)。

平衡: 由于学非科技套路对思维有好处,学习难度偏高于当前思维水平的非科技套路也是有性价比的,再高就因人而异了。

xcpc 区域赛的训练策略调整:

  • 非科技套路出现得更频繁,ad-hoc 题只占一两成;另有一些 [icpc 赛制/赛区][特色/频率变化/默认难度变化] 的非科技套路,比如分块,树剖
  • 要专门刷(类)xcpc 比赛以适应以上变化;
  • 注意省赛 / 邀请赛的末期题风格可能不符区域赛风格(比如中高难板子,大分讨),毕竟质量赶不上。
  • 急着拿牌,又思维暂时不足且非科技套路短板更严重的队伍 / 选手,可能,可以找些题单去猛攻一下?在铁铜银区的作用可能会大一些,我不太懂…

以上很多内容对科技同样适用。


科技 ​

性质 1:受思维的影响

  • 思维差一个大档次(rating 差 400 分左右),理解同一科技的用时可能有数小时到数分钟的区别,理解的深度(拆解 / 本质化)也会质变;
  • 深度在比赛中的作用:部分科技(比如 NTT)/ 情况下可以当作黑盒用,但几乎所有科技都有出现在更高难度题目中,(思路)需要本质理解的变体,(所以透彻理解是必须追求的(没学完全等于完全没学);而水平更高于所学科技的思维水平才能快速达到该目的,越高越快
  • 深度在滚雪球中的作用:透彻理解科技得到的本质 / 分析经验可以大大加强"一通百通"的效应,也反哺思维;
  • (由于追求以尽可能高的思维水平学习科技)在不急用的情况下学科技最有效率的方式是在无向训练(相对于专项训练)中碰到在学,一次吃透,可选地吃透相关科技

性质 2:在不同比赛差别很大

  • 在 cf 中,(见上文的"用简单的科技增加其他部分的花样和题目的多样性")rating 2400 / 2700 / 甚至 3000 会各种线段树就可以了(笑),很多科技是 EC 赛区特色;见 LGM Um_nik 的博客(传世经典)Things I don't know - Codeforces
  • 偏简单的科技从前中期起就(~ *1600)出现(如线段树),但其含量和难度中期涨幅不大,到中后期(*2600+)才会猛然拔高;难度很少与思维难度并列
  • atcoder 我不太熟,抱歉…只知道 atc_abc 的最后一题(现在是 G 题)有时简单,有时凶残得很

在 xcpc 区域赛中:

  • 社区 / 出题组有大致的共识,认为什么科技是金 / 银 / 铜牌科技,冷不冷门,在什么难度前不该出现(或根本不该出现,比如花样都出完了之类);金牌下游以及往下不太会有中高等难度及以上科技(由于不能出原题 / 板题的原则,中高等难度再套个壳子就不止金牌下游了;但靠绝活过掉金牌中游科技题,从银牌冲进金牌区的例子确实是有),若不是很强的队伍,在科技上的投入成本并不高(再往上就有点上强度了)(真省流吗我下面再讲);
  • 上文所谓的"简单科技"范围扩大(比如网络流,旋转卡壳),另有一些 [icpc 赛制/赛区][特色/频率变化/默认难度变化] 的科技(比如莫反,Acam)…但说实话也没多少
  • 至少从 22 年开始,金牌中游及以下几无可能出现以科技为(并列)主要难点的题(否则区分度很可能飞起来,出题人要背锅(近 3 年区域赛的唯一特例是 23IC 合肥 C 题,回文自动机板子过了一大车)冷门科技 / 多年没出现的科技难度更不好把控其次,直接就没人会,更不可能出现在赛场上(金牌中游及以下)非出线区;近年的 xcpc 比赛大多可看到题面 / 补题 / 虚拟参赛(vp),看了就知道了,但不建议入门碰),金牌中游以上科技也最多与思维持平,且常伴随不弱的稳定难度。
  • 科技仍然是顺带的,默认一个队伍平推到这一题科技上不会有问题;这符合 xcpc 比拼思维和代码实现的初衷。
  • 在省赛 / 邀请赛中,中高等难度科技反倒更有可能出现…以偏板的形式(出题人不想把好题放省赛 / 邀请赛导致的)

如何训练:

  • 一般需要投入相对独立的时间精力;但学一个科技不用刷过多例题,道理同非科技(偏思维)套路。
  • 很多其他东西也参考非科技套路部分(碰到在学等),不再赘述;
  • 学习基本要花若干分钟或小时看博客搞明白原理 + 搓个代码找模板题提交验证正确性(然后可以把代码中可重复利用的部分存起来(称作模板 / 板子),以后用到贴上去(简单好写但不好封装的可不存,比如 bfs);把若干板子整合为文件夹 / pdf,md 等文件格式 / 打印成册也叫板子)
  • 但如果你想知道算竞界的科技总共有多少,花几个小时就够了。整理 oiwiki / 群聊里的科技树图片和前人的板子文件 / 校集训队的板子(如果有的话)/ 洛谷带 [模板] tag 的题目名,得到的算法名其中一小部分能覆盖整个算竞生涯,另外一大部分可能永远用不上。(难度,频率待整理)
  • 初学者在任何情况下都不需要买课,见"训练资源 - 课程"部分

平衡:

与非科技套路不同,不论想要长期还是短期效益,千万不要去学难度更高于当前思维水平的科技,原因想必不用再说明。

有很多入门者在不算困难的科技上浪费了一年半载的时间(这种情况是我写这篇文的一大原因);

科技是最最不重要的,算竞学的科技多连水平高的前置条件都不是,更不代表水平高!(研究也是,广不如精)不要有这种错觉!

xcpc 区域赛的训练策略调整:

  • 在科技上的(独立)投入比想象中的要小;哪些该学哪些不该学,题量到了自然会有数;
  • 对于一支队伍,科技不需要每个人都会:在所有人理清 xcpc 科技体系后根据队伍成分补漏即可,最好有一位万金油,或每个科技都有 1.5 个人会。Solo 也不是不行(?)实用的科技真的不多
  • 整理出一个队伍专属的板子,打印下来,赛时用
  • 很多其他东西参考非科技套路部分,不再赘述;
  • 急着拿牌,又思维暂时不足的队伍 / 选手,除非科技短板特别严重,否则还是练别的去吧;
  • 如果其他方面都再难寸进(这个条件很苛刻),可以破例学难度远高于现水平的科技堆绝活,但请做好整个生涯用不到的准备…

稳定(指计算,繁杂逻辑,代码实现,陷阱等) ​

多练不必说。

性质:

  • cf / atc:原教旨主义,可以几乎没有,可以作为并列难点,在这个范围内就行。
  • 类 xcpc:更倾向于增大稳定的难度:难至强半档(一般伴随难度接近的思维题,不会独占一档)易至没有(再高基本就是大模拟,场均 1/4 ~ 1/2 个(好久没见了));

cf 题目风格:

贯穿全程,含量和难度逐级递增,可能在任何难度档与思维难度并列。

平衡 & 如何训练:

  • 算不上平衡,大多都是平时注意(少失误 / 加速);
  • 相对于思维,稳定从偏弱到远强的每一层次提升都能带来很大的收益,在有助于稳定的平时训练方法上肯定要精益求精;
  • 相反地,不能弱到因稳定葬送比赛,稳定特别弱时建议去额外专门练大模拟。
  • (具体细节由于内容较多,散乱也偏主观,也放在最后杂项部分;包含"新手如何形成合理的码风")
  • 不用把 C++ 的语法全都看一遍,也不用抱着 cppreference,c++ prime 之类的啃,对算竞没什么用的…写点入门题,不出三小时语法就够用了,复杂的语法坑也没必要入门就理解;算竞范围内语言只是工具。

xcpc 区域赛的训练策略调整:

由于题目风格的不同,稳定难点的方向较 cf 有不小的区别,很多坑是 xcpc 特有的;同上,要专门刷(类)xcpc 比赛以适应变化。


E. 训练资源与使用 ​

其一,cf 的题库厚度和题库 / 比赛质量是独一档的,强于其他所有地域性网站(没那么多高水平出题人投题,除了 Atcoder,atc 的固定出题组太能肝了);

其二,由于 cf 的代表性,可以说如果你把算竞当成娱乐,你的算竞水平就是 cf 水平;

其三,cf 有很多好用的其他功能,根本讲不完(点一下 rating 和段位(?),比赛正反馈很强,请务必试试),还能装很多插件,甚至有个 cf 专用的民间工具软件,也很好用(特指 CCHV2);

总之,cf 本身的质量断档最佳,训练内容肯定以 cf 为主,甚至全练 cf 也没问题。也可以搭配别的内容。

自由训练题库(+ 比赛) ​

比赛题库(指收录的题目作为比赛用题过的题库) ​

cf(problemset):

优点见上,性质见文章开头;功能:(没写完)

如何使用:(应该放在后面)打开 cf 的 problemset 那一栏,选个合适的难度区间(800~3500 共 28 档,分得很细),时间倒序(一般越新的题质量越好,过早的题难度分会虚高)平推就是了。题解有,代码有(可以看到并复制所有人的代码),功能很全讲不完,还有一堆插件可装;卡题太久要不要放弃去看题解 / 别人代码,要不要借鉴别人的码风,干什么自己斟酌,反正东西全都有;

再配合博客和群聊等,完全可以当十里坡剑神。

一些工具:CFTracker CLIST Codeforces Contest Helper v2:解决 CF 比赛需求 - 知乎

还有些插件:Carrot、CF Analytics、Codeforces Better

(+ 比赛)cf(contests):

  • 在所有比赛中规模最大
  • 题目性质见"自由训练题库"部分
  • 自由训练比赛有什么用?(以 cf 为例)(没写完)
  • cf 的等级分(rating)可以很好地反映实力
  • 在科学的训练策略下,类 xcpc 比赛水平与 cf_rating 相关性很高

Atcoder(atc):

  • 全职出题组的含金量,在地区性 oj 中脱颖而出,享誉全球
  • 我不太用 atc,评价可能不准确,抱歉
  • ABC 的前期(A~E)比 cf 的前期更思维一点,G 题(较早的场还有 H/Ex)现在难度飘忽不定,以前是很不错的,能学到很多非科技套路(jiangly:cf 2400 之前都可以写写 abc)
  • AGC 的思维难度极高而其他成分偏少,有些像 puzzle,值得欣赏;
  • ARC 个人完全不碰,大概介于两者之间;AHC 与算竞无关
  • 工具:AtCoder Problems CLIST
  • 关注 atc 等级分的人少很多很多

(比赛)牛客 - 牛客系列赛:

  • 不太了解,挺多高手也打这个
  • 英语爆炸选手的最优选择(?)
  • 作为训练题库暂时不好使

QOJ:

  • 收录各大顶尖比赛,cf 2400 / xcpc 金牌前别碰
  • QOJ - QOJ.ac

是的,纯娱乐选手前中期最好用的训练题库 oj 只有 1.7 个,加上后期是 2.7 个,或你会自己找合适的内容做;在这之前刷题不要用别的了。

某些机构的小作坊:懒得评价。

不推荐任何非比赛题库(指题目的来源不是比赛):

  • poj,zoj,hduoj 等老旧题库 oj:质量参差不齐,难度仅凭过题人数难以把控,功能严重不足年久失修等,自由训练和备赛都不应在任何情况下使用。
  • 牛客(非比赛题库部分):题库厚度,平均质量和功能都还离 cf 差距过远。
  • 洛谷: 题库厚度足够,高水平题目也不少但平均质量仍偏低,题解充足(中文)但功能性仍不足;难度过于模糊:只有 7 个档;同期横向对比常有更难题档位更低的事,随时间推移更是难度膨胀严重(很多早期题放到现在难度应降两三四档),难度档的参考性很弱;且面向 oi,与 cf 相比练习成本(非科技套路,科技,稳定)的比重更高;见上思维部分,写这些题在非思维的投入占比过高,效率偏低。难度模糊的硬伤太大了,即使对 oi 选手来说洛谷的散题部分也有不小的使用门槛
  • 某些机构的小作坊:懒得评价,题要么是从别的 oj 偷过来的,要么过于粗制滥造

一些民间题单:

可能在洛谷,可能在 vjudge;偏非科技套路 / 科技的题单拿来查漏补缺挺好,挑着写,别全写了;综合性题单(相当于精选正常题库)可以随便写。


奖项比赛相关训练题库 ​

  • xcpc 区域赛 / 网络预选赛: 除了极个别赛分赛站,近几年的 icpc / ccpc 区域赛 / 总决赛都能在 cf_gym / qoj_contests 上找到,并看到题目,提交和评测与虚拟参与(简称 vp,virtual participation);现场榜单一般在 Board - XCPCIO;如果找不到就去群里问在哪 / 有没有
  • xcpc 省赛 / 邀请赛: 更可能在 gym,其他同上;质量差一个档次;
  • 特别指出,xcpc 区域赛是很珍贵的,一年只有约 12~17 场,省着点用;
  • 但如果你(的队伍)上一次 vp 某场区域赛时还很菜,可以当作没打过;类 xcpc 场也是一样。不妨在入门后不久尝试一下类 xcpc 场。
  • 其他赛区的比赛:由于这是前中期指南不作展开,以后去群聊里问
  • 洛谷:可用来检验模板的正确性

奖项性质比赛 + 模拟赛:引用一下这篇文(未经授权):【打破信息差】萌新认识与入门算法竞赛 - 知乎


群聊 ​

  • 群组索引 | ACMer.info 国内没有专门的算竞交流平台,近几年都用 QQ 群
  • 群聊"菜菜园子"的群文件里有很多好东西:知识树,各比赛资料,书籍,历届强队模板,国家集训队论文…(正常情况下用不到多少)
  • 寻找各种资源的重要途径
  • 没人闲聊的群都是小群;大群没有不混沌的…今年没有大的纯学术群

(学习非科技套路 / 科技 / 解决各种问题的)文章 ​

  • 博客园 - 包含所有你想知道的非科技套路 / 科技的多篇讲解;能解决大多数算竞相关的软件 / 语法问题;一个博客园够用了,有万一就活用搜索引擎。
  • 其他网站:暂时没想到

集训营 ​

  • 自由训练: 没有相关集训营;
  • xcpc: 不必要,但可以有,都是公益性的(开销很低),比如 Nanamo Camp,能进行一段时间的较高水平训练

课程(xcpc) ​

  • 自由训练: 没有相关课程
  • xcpc: 若质量足够好可以加速对一些非科技套路 / 科技的理解,否则浪费时间;
    • 先不论课程是否存在,只有 牛客,洛谷,代码源(后两者更偏向 oi)三者有开作用正向的 xcpc 课程的水平
    • 其他完全不推荐(如何分辨低质骗钱课程)
      • 自行搜索"绘画相关卖课骗局",很多方面相同
      • 与蓝桥杯等水赛合作形成产业链
      • 以通过以少量的钱找大学生在校内宣传,找水赛(如蓝桥杯)奖项做代表等,面向信息闭塞的群体宣传,成本极低,
      • 课程质量全部极低,不怕举报:自愿付费,课程质量无法评定,任何机构和法律无法监管
      • 话术催促付款(与诈骗无异,部分课程被骗 10w 报警仍无结果),课程群聊禁止提及以上免费资源,否则踢出群聊
    • 蓝桥杯水分待写

F. 旧版内容:关于如何训思维 ​

2023.10.13 关于如何训思维 ​

首先说如何确认成果:cf 正赛(个人现在只在确认成果时熬夜打 cf)/ 平常刷题就能感觉出来

@ 冲着长期效果去练,始终锁定最有用的指标(有没有思维拓宽 / 锻炼脑力 / 变强),看别的过于具象化的指标(比如题量)只会干扰这一点; 本人根据这个想法,除了锻炼码力经常跳过一眼题

@ 练思维就是思考一些有挑战性,能充分调动你高难 / 全新思维的东西。所以卡题不用急,尝试各个方向是训练效率最高的环节(脑子停转了就休息一下重试或看题解吧)

@ 比较抽象的核心部分(以下灰字一些废话):

如何 [成为 cp / 思维高手(A)]?除了手指肌肉,体能之类的,主要靠调整 [脑子里存的东西(B)]:

  • [一些原题(原题肯定存不完的)和对一些做法,知识的记忆碎片(B1)] 和
  • [处理问题的逻辑(B2)] 和
  • [一些别的不重要或也很重要的东西,比如心态调整(B3)]

(你可以发现我一直在拆解并简化问题以分析;通过问题拆解发现只需要把这三块搞好就行了,真是简单!)

B3 不说了,B1 / B2 是否调整到了最终在赛场上能出题的地步是无法预测的,只能参考平时的每一题,如果每一题写完后都找不到 B1 / B2 的改进之处(B1 的知识不算)说明潜力已尽

(确实吧,只能相信自己的大脑有无限潜能了;但能做的事情总是有的)

*B1 只能随训练量硬堆,而如何存储与使用 B1 还是由 B2 决定

说这么长只是为了引出一个稍显切实可行,可能是成为 cp 高手的必须与最好的办法:

在写完每一题后以"过段时间重看一遍 / 下一次碰到类似题或技巧写得出来"为目的尽可能调整 B1 / B2,并以过段时间重看一遍 / 下一次碰到类似题或技巧能不能写得出来判断是否有效

至于如何调整,最关键的一点我没自信了,一句话讲不完,沦为教条主义…

大致就是 简化(拆解,转化…)/ 抓本质,自然化思考…列举一下


@ 考虑到大脑"知识碎片只有在思绪与该碎片有相似之处时才会显现"的性质,总是依靠跳跃性的想法和经验过于不可靠,虽不可避免,尽量选择更自然,本质的思考路径(将需求与技巧本质化)

比如看到对一个序列进行区间查询,并不是直接想到线段树,而是:

区间太多了,处理不过来 → 必须用较少的信息反映所有区间的信息

在这个基础上进行猜测:用一些有代表性的区间的信息足够吗?进而确定是可以使用线段树,还是什么别的:比如再尝试将区间分类,只考虑经过整个序列中点的区间,mid 分治也可能是正解。(可以将所有区间分成经过点 mid 的和整个区间都在 mid 左 / 右边的,相较线段树无法修改,必须离线,需要预处理,但每次查询只用合并两个区间的信息,适合合并复杂度极大的情况,比如 hdu7421);"用较少的信息反映所有区间"这种属性对线段树和 mid 分治稍作剖析都能分别得到,记住这个属性,做题时看到它就很容易联想到这两者了。将需求与技巧本质化能大大提高两者的相似度和互相联想到的概率

很烂的原稿:对一个本来不会的思维题不要 Ac 就囫囵扔了,停一下回顾整个过程,题目的信息有什么性质,一些关键技巧如何根据这些性质发挥作用之类,透彻理解,积累经验举一反三(紫名前的题最多套路一两层)

透彻理解是最最最最最重要的,有 20% / 100% 的区别

2024.1.16 upd: 套路永远有限,透彻理解保证有效穷举,举一反三可以让套路降一个数量级。在穷举的同时思考速度还会逐日提升,都不知道怎么输。一个 cf 上就有近乎无限的训练资源(难度还分得很好),一个分段吃透,+100 分按理来说接得住 5678 成。没说怎么举一反三啊,想必以前看这段话的人都一头雾水…传一个大体意思

拆解,本质化确实可以让套路的个数从 1e5 降到 1e2;题目需求一起算,出思路的难度就是从 1e5 * 1e5 降到 1e2 * 1e2,效果拔群!

(怎么只有一点,这算哪门子列举)


@ 2024.1.30 学了一堆结果写啥啥不会很有挫败感的(练思维题的理由又多一条)。思维题打腻了,写点 xcpc 换换口味 / 看看能拿什么牌子,验货和激励自己也很重要

@(2024.1.16 upd:这段如果觉得没必要那就没必要) 能看懂题解就不算太难,要么是新东西而且用得出来,要么是旧东西待巩固,先啃一遍,等忘了大半再回来写

@ 身体素质: 训思维显然要避免水平意外下降,所以最后有一件显然的事:不要太透支大脑,以防不可逆损伤和"你以为是开始其实是巅峰"的情况…请在所有方面充分保养好身体的每一部分(打 cp 的尽头是养生:多运动,作息规律,饮食均衡等等,就不碎碎念了…)

@ 还有好多


感觉很难说哪个不重要,有些缺一个训练效率可能掉个两三成,自我警醒一下

本文仅抛砖引玉,进一步地,希望更科学的思维方式能帮助你训练策略不断改进,越训越强,再训再强

(这种随手写的东西应该自己传给学弟学妹就得了,但如果有价值的话欢迎传播)

(可能存在致命缺陷,也无论是否有人看或如何欢迎大佬纠错补充)

(如果觉得甚至没讲到想要的重点还请务必反馈!)


qq:756507076 / cf id:SATSKY_2024target_IGM(本人享受竞赛,感谢资源开放)

学算法多交流: 群组索引 | ACMer.info

强烈推荐**"菜菜园子"(菜群)**!当然能自己解决的问题尽量不要问


2024.04.27 更新 ​

  • 改深了灰色字体
  • 语句更通顺了
  • 为 Atcoder 正名(?)Atcoder 是一个不太适合我但非常好的 oj(我的问题!)
  • *得到了一些大佬不错的评价 ^_^

Released under the MIT License.