作者微信 bishe2022

代码功能演示视频在页面下方,请先观看;如需定制开发,联系页面右侧客服

      ACM国际大学生程序设计竞赛(ACM-ICPC)是国际上公认的水平最高、规模最大、影响最深的计算机专业竞赛,目前全球参与人数达20多万。本书作者将16年的教练经验与积累撰写成本系列丛书,全面、深入而系统地将ACM-ICPC展现给读者。

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

目录

第一部分 入门与进阶
第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


image.png

Home