第1章 从零开始 1
一、机试的意义 1
二、机试的形式 1
三、评判结果 3
四、复杂度的估计 4
五、OJ的使用 5
总结 6
第2章 经典入门 7
一、排序 7
二、日期类问题 14
三、Hash的应用 21
四、排版题 25
五、查找 30
六、贪心算法 36
总结 41
第3章 数据结构 42
一、栈的应用 42
二、哈夫曼树 48
三、二叉树 50
四、二叉排序树 55
总结 61
第4章 数学问题 62
一、%运算符 62
二、数位拆解 64
三、进制转换 67
四、*大公约数(GCD) 71
五、*小公倍数(LCM) 74
六、素数筛法 75
七、分解素因数 79
八、二分求幂 85
九、高精度整数 89
总结 98
第5章 图论 99
一、预备知识 99
二、并查集 103
三、*小生成树(MST) 110
四、*短路径 116
五、拓扑排序 126
总结 130
第6章 搜索 131
一、枚举 131
二、广度优先搜索(BFS) 133
三、递归 143
四、递归的应用 145
五、深度优先搜索(DFS) 151
总结 155
第7章 动态规划 156
一、递推求解 156
二、*长递增子序列(LIS) 159
三、*长公共子序列(LCS) 162
四、状态与状态转移方程 164
五、动态规划问题分析举例 165
六、背包 171
总结 181
第8章 其他技巧 182
一、标准模板库(STL) 182
二、滚动数组 189
三、调试技巧 191
四、补充技巧 192
五、*后的提醒 195
总结 195