ACM国际大学生程序设计竞赛 知识与入门 俞勇著 完整版PDF下载

转载至:  https://www.jb51.net/books/633360.html

下载链接:  https://pan.baidu.com/s/1Fa9zK04J7a4VjC9eRbatQQ 密码:  cgs5

下载声明:  本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版。

《ACM国际大学生程序设计竞赛:算法与实现》内容简介:ACM国际大学生程序设计竞赛(ACM-ICPC)是国际上公认的水平最高、规模最大、影响最深的计算机专业竞赛,目前全球参与人数达20多万。《ACM国际大学生程序设计竞赛:算法与实现》作者将16年的教练经验与积累撰写成本系列丛书,全面、深入而系统地将ACM-ICPC展现给读者。本系列丛书包括《ACM国际大学生程序设计竞赛:知识与入门》、《ACM国际大学生程序设计竞赛:算法与实现》、《ACM国际大学生程序设计竞赛:题目与解读》、《ACM国际大学生程序设计竞赛:比赛与思考》等4册,其中《ACM国际大学生程序设计竞赛:知识与入门》介绍了ACM-ICPC的知识及其分类、进阶与角色、在线评测系统;《ACM国际大学生程序设计竞赛:算法与实现》介绍了ACM-ICPC算法分类、实现及索引;《ACM国际大学生程序设计竞赛:题目与解读》为各类算法配备经典例题及题库,并提供解题思路;《ACM国际大学生程序设计竞赛:比赛与思考》介绍了上海交通大学ACM-ICPC的训练及比赛,包括训练札记、赛场风云、赛季纵横、冠军之路、峥嵘岁月。

本丛书适用于参加ACM国际大学生程序设计竞赛的本科生和研究生,对参加青少年信息学奥林匹克竞赛的中学生也很有指导价值。同时,作为程序设计、数据结构、算法等相关课程的拓展与提升,本丛书也是难得的教学辅助读物。

s25137977.jpg

第一部分 入门与进阶

第1章 入门 3

1.1 ACM-ICPC竞赛介绍 3

1.2 新手入门 5

1.3 团队的分工与配合 7

1.4 训练 9

1.5 备战分区赛 12

1.6 备战总决赛 13

第2章 进阶 16

2.1 如何提高读题能力 16

2.2 如何提高代码能力 17

2.3 Bug与Debug 19

2.4 从做题者到命题者 20

第二部分 知识点与求解策略

第3章 数学基础 25

3.1 函数增长与复杂性分类 25

3.1.1 渐进符号 25

3.1.2 阶的计算 26

3.1.3 复杂性分类 27

3.2 概率论 28

3.2.1 事件与概率 28

3.2.2 期望与方差 30

3.3 代数学 31

3.3.1 矩阵 31

3.3.2 行列式 33

3.3.3 解线性方程组 34

3.3.4 多项式 37

3.3.5 复数 38

3.3.6 群 39

3.4 组合学 42

3.4.1 排列与组合 42

3.4.2 鸽巢原理 43

3.4.3 容斥原理 44

3.4.4 特殊计数序列 45

3.4.5 Pólya计数定理 47

3.5 博弈论 50

3.5.1 博弈树 50

3.5.2 SG函数 51

3.5.3 Nim游戏与Nim和 53

3.6 数论 54

3.6.1 整除 54

3.6.2 不定方程 57

3.6.3 同余方程与欧拉定理 58

3.6.4 原根、离散对数和二项同余

?方程 60

3.6.5 连分数 61

第4章 数据结构 64

4.1 线性表 64

4.1.1 链表 64

4.1.2 栈 65

4.1.3 队列 65

4.1.4 块状链表 66

4.2 集合 67

4.2.1 散列表 67

4.2.2 并查集 69

4.3 排序 71

4.3.1 朴素排序算法 71

4.3.1.1 插入排序 71

4.3.1.2 冒泡排序 72

4.3.2 高效排序算法 73

4.3.2.1 归并排序算法 73

4.3.2.2 快速排序算法 74

4.3.2.3 线性排序算法 76

4.4 树 78

4.4.1 堆 78

4.4.1.1 二叉堆 78

4.4.1.2 左偏树 80

4.4.2 二叉树 82

4.4.2.1 二叉搜索树 82

4.4.2.2 Treap 84

4.4.2.3 伸展树 85

4.4.3 线段树 89

第5章 图论 91

5.1 图 91

5.1.1 基本概念 91

5.1.1.1 图的定义与基本

?术语 91

5.1.1.2 匹配与覆盖 92

5.1.1.3 独立集、团与支配集 94

5.1.1.4 图的染色 95

5.1.2 特殊图的分类 96

5.1.3 图的遍历 99

5.1.3.1 深度优先遍历 99

5.1.3.2 广度优先遍历 100

5.1.4 连通性 103

5.1.4.1 连通性的基本定义 103

5.1.4.2 割点与桥 104

5.1.4.3 强连通分量 105

5.1.4.4 应用:2-SAT 107

5.1.5 哈密顿路与欧拉路 108

5.1.5.1 哈密顿路 108

5.1.5.2 欧拉路 109

5.1.6 最短路 111

5.1.6.1 Bellman-ford算法 111

5.1.6.2 Dijkstra算法 113

5.1.6.3 Floyd算法 114

5.2 树 115

5.2.1 基本概念与遍历 115

5.2.1.1 树的基本定义与术语 115

5.2.1.2 树的遍历 117

5.2.2 生成树 117

5.2.2.1 生成树的基本概念 117

5.2.2.2 Prim算法 118

5.2.2.3 Kruskal算法 120

5.2.2.4 最小生成树的变种 121

5.2.2.5 生成树计数 123

5.3 二分图 124

5.3.1 最大匹配 124

5.3.2 最大权匹配 126

5.3.3 稳定婚姻 128

5.4 网络流 129

5.4.1 基本概念 129

5.4.1.1 流网络 129

5.4.1.2 残量网络 130

5.4.1.3 增广路径 130

5.4.1.4 最大流最小割定理 131

5.4.2 最大流算法 131

5.4.2.1 Ford-Fulkerson算法 131

5.4.2.2 Dinic算法 133

5.4.3 费用流 135

5.4.4 流与割模型 137

5.4.4.1 上下界网络流 137

5.4.4.2 混合图欧拉回路 139

5.4.4.3 最大权闭合子图 140

第6章 计算几何 142

6.1 向量 142

6.2 点的有序化 143

6.3 多边形与圆 144

6.3.1 简单多边形 144

6.3.2 凸包问题 146

6.3.3 圆的面积并 147

6.4 半平面交 148

6.5 经典问题 151

6.5.1 线段求交 151

6.5.2 最近点对 152

6.5.3 最远点对 154

第7章 论题选编 156

7.1 背包问题 156

7.2 LCA与RMQ 157

7.3 快速傅里叶变换 159

7.4 字符串 161

7.4.1 字符串匹配 161

7.4.2 Trie 164

7.4.3 AC自动机 165

7.4.4 后缀数组 167

7.4.5 扩展KMP 169

第8章 求解策略 171

8.1 搜索 171

8.2 分治 175

8.3 贪心 176

8.4 动态规划 179

8.5 随机化 183

第三部分 在 线 资 源

第9章 在线评测系统 187

9.1 基本使用方法 187

9.2 USACO介绍 190

9.3 CII介绍 191

9.4 PKU介绍 192

9.5 SGU介绍 193

9.6 SPOJ介绍 195

第10章 网上比赛 197

10.1 GCJ介绍 197

10.2 TopCoder介绍 199

10.3 Codeforces介绍 200

参考文献 203


打赏 支付宝打赏 微信打赏

如果文章对您有帮助,欢迎移至上方打赏按钮...

评论 抢沙发