本课程基于《算法竞赛进阶指南》,由如下章节组成:
- 基本算法
- 基本数据结构
- 搜索
- 数学知识
- 数据结构进阶
- 动态规划
- 图论
在学习本课程之前,需要读者
- 熟悉C++语言的基本语法结构,能够编写程序;
- 会使用朴素算法,如枚举、模拟等方法;
- 理解“递推”概念,能循环计算简单的递推式;
- 掌握几种简单的排序算法;
- 熟练使用数组,知道链表、栈、队列的基本结构与用法;
- 能够借助内置函数进行简单字符串处理;
- 了解树、图结构,和相关专有名词;
- 接触过动态规划,会做数字三角形、LCS、LIS等入门题;
- 具有不低于高中一年级的基本数学素养。
-
从算法竞赛的入门选手,达到联赛一等奖获得者的中、高级水平
-
辅以实战训练,提升到NOI省队平均水平
-
对算法竞赛的形式有所了解
-
掌握至少一门编程语言
-
能够运用朴素算法求解最基本的问题
-
有100题左右的练习经验
-
三个月到半年的课余学习经历