第1章 从零开始\t1
1.1 本书介绍\t1
1.2 机试的意义与形式\t1
1.3 评判结果\t3
1.4 语言与编译器的选择\t4
1.5 在线评测系统\t4
小结\t5
第2章 暴力求解\t6
2.1 枚举\t6
2.2 模拟\t10
小结\t28
第3章 排序与查找\t29
3.1 排序\t29
3.2 查找\t36
小结\t41
第4章 字符串\t42
4.1 字符串\t42
4.2 字符串处理\t45
4.3 字符串匹配\t54
小结\t61
第5章 数据结构一\t62
5.1 向量\t62
5.2 队列\t66
5.3 栈\t71
小结\t80
第6章 数学问题\t81
6.1 进制转换\t81
6.2 最大公约数与最小公倍数\t89
6.3 质数\t92
6.4 分解质因数\t96
6.5 快速幂\t99
6.6 矩阵与矩阵快速幂\t101
6.7 高精度整数\t106
小结\t117
第7章 贪心策略\t118
7.1 简单贪心\t118
7.2 区间贪心\t124
小结\t131
第8章 递归与分治\t132
8.1 递归策略\t132
8.2 分治法\t135
小结\t139
第9章 搜索\t140
9.1 宽度优先搜索\t140
9.2 深度优先搜索\t145
小结\t152
第10章 数据结构二\t153
10.1 二叉树\t153
10.2 二叉排序树\t159
10.3 优先队列\t164
10.4 散列表\t170
小结\t179
第11章 图论\t180
11.1 概述\t180
11.2 并查集\t183
11.3 最小生成树\t194
11.4 最短路径\t201
11.5 拓扑排序\t208
11.6 关键路径\t213
小结\t221
第12章 动态规划\t222
12.1 递推求解\t222
12.2 最大连续子序列和\t224
12.3 最长递增子序列\t229
12.4 最长公共子序列\t233
12.5 背包问题\t236
12.6 其他问题\t246
小结\t251