算竞前中期指南 / 训练建议 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 怎么训"。)
[观点]
- 对于每个算竞题思维一定要作为主要难点,至少是主要难点之一;
- 非科技套路既是增加题目多样性的工具,也是思维的延伸,越往后综合性越强,但可以没有;
- 科技同样有增加题目多样性的作用,但本身在思维上的花样不多,一般仅可选地用"简单科技"(并查集,线段树之类)作为思维的载体(这大概是为了尽量避免科技区分掉其他 3 方面更强的参赛者,毕竟精通每一个领域的成本过大;科技并非无趣,只是为了良好的竞赛体验需要取舍。);
- 稳定部分的难度没有定规,同非科技套路(抓细节,精确手算,优美的代码实现等也是算竞魅力的一部分)。
[关于 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(我的问题!)
- *得到了一些大佬不错的评价 ^_^
