课程共分为五个阶段,涵盖C++进阶算法知识:模拟法、枚举法、排序算法、STL排序、递推算法、贪心、二分法、倍增、前缀和、差分、高精度算法、栈、队列、链表、向量、深搜与广搜

登录以参加训练计划

阶段1:模拟与枚举 1、理解算法的概念、时间复杂度及评方法 2、掌握模拟法的解题思路与技巧 3、掌握枚举法的解题方法与优化方法 4、掌握用枚举法解数学不定方程的方法 5、模拟法与枚举法的综合练习 阶段2:排序、递推与贪心 1、理解排序的概念、了解排序算法的复杂度和稳定性 2、掌握五种基本排序算法的原理和代码实现:冒泡排序、选择排序、插入排序、快速排序、计数排序 3、掌握STL排序函数和去重函数 4、理解递推思想,递推关系的推导方法 5、理解贪心算法和贪心策略,能用算法解决问题 阶段3:算法技巧与高精度 1、理解二分思想,掌握二分查找、STL查找函数的应用 2、理解二分答案的原理及使用场景,能掌握代码编写 3、理解倍增法及其应用,比如倍增查找、快速幂等常用算法 4、掌握前缀和与差分的概念、应用场景与解题技巧 5、了解高精度算法,掌握高精度加法、减法、乘法的代码实现 阶段4:线性数据结构 1、掌握归并排序的原理和代码实现 2、理解数据结构:栈和队列,掌握它们的基本操作和代码实现 3、理解数据结构:链表,掌握链表的基本操作和代码实现;了解循环链表、双向链表,以及与普通链表的区别 4、掌握STL中的向量vector和应用,以及对vector的操作 5、掌握STL中栈stack和队列queue的基本操作 阶段5:搜索算法与总复习 1、理解深度优先搜索(DFS)、广度优先搜索(BFS)的概念 2、掌握用递归实现DFS的方法,用DFS解决迷宫问题、连通块问题 3、了解数学中的排列组合,掌握用DFS解决排列组合问题的方法 4、掌握BFS的代码实现,用BFS解决迷宫问题、最短路径长度问题 5、综合案例练习,夯实代码能力

章节 1. 模拟法(上)

开放

题目 尝试 AC 难度
620   青蛙爬井 18 13 6
621   序列操作和查询 28 4 9
622   数组折叠 5 5 10
623   数字消除 11 5 9
624   数组旋转 10 5 9
1808   模拟法(上)-课堂案例1 17 1 10
1809   模拟法(上)-课堂案例2 8 2 10
1810   模拟法(上)-课堂案例3 17 2 9

章节 2. 模拟法(下)

开放

题目 尝试 AC 难度
625   移树问题 7 5 9
626   出列游戏 9 4 9
627   单身贵族游戏 4 3 10
628   爬动的蠕虫 21 6 8
1811   模拟法(下)-课堂案例1 0 0 (无)
1812   模拟法(下)-课堂案例2 0 0 (无)
1813   模拟法(下)-课堂案例3 0 0 (无)

章节 3. 随机数

开放

题目 尝试 AC 难度
629   随机数的加法 4 1 10
630   随机数的生成 3 0 10
631   随机矩阵 2 0 10

章节 4. 枚举法(一)

开放

题目 尝试 AC 难度
632   出行方案 29 4 9
633   求方程的正整数解 41 1 10
634   即是平方数也是立方数 11 6 9
635   分解质数 25 2 9
636   特殊的数 15 5 8
1794   枚举法(一)-课堂案例1 0 0 (无)
1795   枚举法(一)-课堂案例2 0 0 (无)
1796   枚举法(一)-课堂案例3 0 0 (无)
1797   枚举法(一)-课堂案例4 0 0 (无)
1798   枚举法(一)-课堂案例5 0 0 (无)

章节 5. 枚举法(二)

开放

题目 尝试 AC 难度
637   寻找自守数 26 6 8
638   数字统计 7 7 9
639   机器人移动 14 5 9
640   小球的取法 8 5 10
1805   枚举法(二)-课堂案例1 0 0 (无)
1806   枚举法(二)-课堂案例2 0 0 (无)
1807   枚举法(二)-课堂案例3 0 0 (无)
 
参加人数
23
创建人