第1章 算法原理与ACM入门 1
1.1 算法概述 1
1.2 在线测评系统的使用 3
1.3 编程基本知识 18
第2章 数据结构的基本知识 22
2.1 线性表 22
2.2 栈 27
2.3 队列 33
2.4 串 37
2.5 抽象数据类型串的实现 39
第3章 递归 53
3.1 递归的定义 53
3.2 递归的实际应用 57
3.3 习题 66
第4章 高精度计算 67
4.1 Stirling公式 67
4.2 高精度运算 70
4.3 习题 91
第5章 贪心 92
5.1 贪心的原理 92
5.2 贪心算法及其应用 94
5.3 习题 115
第6章 动态规划 116
6.1 动态规划的原理 116
6.2 动态规划的应用 117
6.3 背包问题 140
6.4 习题 145
第7章 搜索 146
7.1 枚举 146
7.2 深度优先搜索 150
7.3 广度优先搜索 160
7.4 习题 171
第8章 线段树 172
8.1 引言 172
8.2 线段树的引用 172
8.3 线段树的基本结构及特点 172
8.4 线段树的具体实现 173
8.5 例题解析 176
8.6 习题 186
第9章 字符串 188
9.1 KMP算法 188
9.2 Tire树 201
9.3 习题 212
第10章 最小生成树和最短路 213
10.1 最小生成树 213
10.2 最短路 223
10.3 习题 237
第11章 矩阵连乘 238
11.1 初识Fibonacci数列 238
11.2 Fibonacci数列的应用 239
11.3 矩阵乘法的基本原理 243
11.4 Fibonacci数列与矩阵连乘 246
11.5 矩阵乘法的拓展 255
11.6 习题 263
第12章 二分和枚举 264
12.1 枚举概述 264
12.2 二分概述 269
12.3 二分的实际应用 273
12.4 习题 287
第13章 母函数 288
13.1 母函数概述 288
13.2 指数型母函数 301
13.3 习题 306
第14章 树状数组 307
14.1 树状数组的基本原理 307
14.2 树状数组的应用 310
14.3 多维树状数组 321
14.4 习题 329
第15章 高斯消元 330
15.1 高斯消元的原理 330
15.2 高斯消元的应用 336
15.3 习题 347
第16章 AC自动机 348
16.1 AC自动机概述 348
16.2 AC自动机的构造 348
16.3 AC自动机的原理 348
16.4 AC自动机的应用 351
16.5 习题 367
第17章 哈希表 368
17.1 哈希表概述 368
17.2 哈希函数的构造方法 370
17.3 解决哈希冲突的方法 373
17.4 习题 386
参考文献 387