洛谷-试炼场:普及练习场

原题单作者 @CLCK 编排的普及组训练路径,覆盖模拟、排序、搜索、动态规划、数论和基础模板。

0 / 0 已完成

洛谷-试炼场:普及练习场

原题单作者:@CLCK。转载或引用请注明作者。

上一章:新手村

普及组选手可冲刺训练,提高组选手也可在此巩固基础。

基础算法

简单的模拟

开始普及组训练。所谓模拟,就是直接根据题意编写程序,思维难度相对简单。

交叉模拟

这里也是模拟,但会混入其他知识。思维难度不大,编写时需要更仔细。

排序

将杂乱的数据整理得有规律。排序算法很多,要根据题目选择合适的方法。

排序 Ex

这一阶段的排序更进一步:既会融合其他技巧,排序本身也有更多变化。

字符串处理

字符串处理会更有意思,难度也更大,需要认真分析规则。

贪心

贪心只考虑当前最有利的选择。生活中不能一味贪心,但 OI 里它有时就是正确答案。

深度优先搜索

搜索可以穷举各种情况。许多题都能用搜索完成;即使不能,它也是重要的部分分工具。

广度优先搜索

广度优先搜索常用于“最短步数”问题,也可用于逐层、全面地搜索状态。

带有技巧的搜索

这里的搜索不仅包含 DFS 和 BFS,还包括剪枝、记忆等加速技巧。

分治算法

将大问题拆为小问题,分别解决,再合并答案。

数学、数据结构与动态规划

简单数学问题

用计算机解决繁琐的数学问题,是很合适的组合。

递推与递归二分

递推从基础状态逐层构造答案;二分不仅能查找,还能确定满足条件的最优值。

线性数据结构

数组、链表、队列和栈都是线性结构,善用它们能简化很多问题。

树形数据结构

从一个根节点不断分叉便形成树,它可以表达数据之间的从属关系。

背包问题

这是最基础的动态规划模型。第一次接触时可能不易理解,坚持跨过这个坎。

线性动态规划

在线性结构上设计状态转移,是必须掌握的动态规划基础。

多维动态规划

动态规划不再局限于一个维度,既要留意时间复杂度,也要注意空间复杂度。

动规与记忆化

这些题有多种做法,有时记忆化搜索能降低实现和思考难度。

高精度算法

long long 仍然不够时,就需要自己实现高精度算法。

提高综合训练

贪心 Pro

虽然仍是贪心题,但已经不是可以轻松解决的简单贪心。

简单数论

数学与 OI 密切相关:数学不仅是基础,也是算法的重要来源。

BOSS 战:普及综合练习 1

好不容易闯到这一关,准备好就继续挑战。

BOSS 战:普及综合练习 2

解决第二个 BOSS。战斗虽难,但仍然可以逐步拆解问题。

BOSS 战:普及综合练习 3

普及练习场的最终 BOSS。打倒它,开启下一个级别。

普及常见模板

这里收录基础算法模板;提高和省选阶段也有对应的模板题。