《ACM国际大学生程序设计竞赛知识与入门/ACM国际大学生程序设计竞赛ACM-ICPC系列丛书》编著者俞勇。
本书分为三个部分,第一部分为入门与进阶,第二部分为知识点与求解策略,第三部分为在线资源。第一部分介绍的内容包括如何快速入门、如何提高自身以及团队水平等,主要是编者根据多年的参赛经验总结而来。第二部分基本涵盖了竞赛中所涉及的主要知识点,包括数学基础、数据结构、图论、计算几何、论题选编、求解策略等6个大类。第三部分对一些常用的在线评测系统和网上比赛进行了介绍。其中,第一部分和第三部分主要针对初学者。
《ACM国际大学生程序设计竞赛知识与入门/ACM国际大学生程序设计竞赛ACM-ICPC系列丛书》编著者俞勇。
《ACM国际大学生程序设计竞赛知识与入门/ACM国际大学生程序设计竞赛ACM-ICPC系列丛书》内容提要:ACM国际大学生程序设计竞赛(ACM—ICPC)是国际上公认的水平最高、规模最大、影响最深的计算机专业竞赛,目前全球参与人数达20多万。本书作者将16年的教练经验与积累撰写成本系列丛书,全面、深入而系统地将ACM—ICPC展现给读者。本系列丛书包括《ACM国际大学生程序设计竞赛:知识与入门》、《ACM国际大学生程序设计竞赛:算法与实现》、《ACM国际大学生程序设计竞赛:题目与解读》、《ACM国际大学生程序设计竞赛:比赛与思考》等4册,其中《ACM国际大学生程序设计竞赛:知识与入门》介绍了ACM—ICPC的知识及其分类、进阶与角色、在线评测系统;《ACM国际大学生程序设计竞赛:算法与实现》介绍了ACM—ICPC算法分类、实现及索引;《ACM国际大学生程序设计竞赛:题目与解读》为各类算法配备经典例题及题库,并提供解题思路;《ACM国际大学生程序设计竞赛:比赛与思考》介绍了上海交通大学ACM—ICPC的训练及比赛,包括训练札记、赛场风云、赛季纵横、冠军之路、峥嵘岁月。
本丛书适用于参加ACM国际大学生程序设计竞赛的本科生和研究生,对参加青少年信息学奥林匹克竞赛的中学生也很有指导价值。同时,作为程序设计、数据结构、算法等相关课程的拓展与提升,本丛书也是难得的教学辅助读物。
第一部分 入门与进阶
第1章 入门
1.1 ACM.ICPC竞赛介绍
1.2 新手入门
1.3 团队的分工与配合
1.4 训练
1.5 备战分区赛
1.6 备战总决赛
第2章 进阶
2.1 如何提高读题能力
2.2 如何提高代码能力
2.3 Bug与Debug
2.4 从做题者到命题者
第二部分 知识点与求解策略
第3章 数学基础
3.1 函数增长与复杂性分类
3.1.1 渐进符号
3.1.2 阶的计算
3.1.3 复杂性分类
3.2 概率论
3.2.1 事件与概率
3.2.2 期望与方差
3.3 代数学
3.3.1 矩阵
3.3.2 行列式
3.3.3 解线性方程组
3.3.4 多项式
3.3.5 复数
3.3.6 群
3.4 组合学
3.4.1 排列与组合
3.4.2 鸽巢原理
3.4.3 容斥原理
3.4.4 特殊计数序列
3.4.5 P6lya计数定理
3.5 博弈论
3.5.1 博弈树
3.5.2 5G函数
3.5.3 Nim游戏与Nim和
3.6 数论
3.6.1 整除
3.6.2 不定方程
3.6.3 同余方程与欧拉定理
3.6.4 原根、离散对数和二项同余方程
3.6.5 连分数
第4章 数据结构
4.1 线性表
4.1.1 链表
4.1.2 栈
4.1.3 队列
4.1.4 块状链表
4.2 集合
4.2.1 散列表
4.2.2 并查集
4.3 排序
4.3.1 朴素排序算法
4.3.1.1 插入排序
4.3.1.2 冒泡排序
4.3.2 高效排序算法
4.3.2.1 归并排序算法
4.3.2.2 快速排序算法
4.3.2.3 线性排序算法
4.4 树
4.4.1 堆
4.4.1.1 二叉堆
4..4.1.2 左偏树
4.4.2 二叉树
4.4.2.1 二叉搜索树
4.4.2.2 Treap
4.4.2.3 伸展树
4.4.3 线段树
第5章 图论
5.1 图
5.1.1 基本概念
5.1.1.1 图的定义与基本术语
5.1.1.2 匹配与覆盖
5.1.1.3 独立集、团与支配集
5.1.1.4 图的染色
5.1.2 特殊图的分类
5.1.3 图的遍历
5.1.3.1 深度优先遍历
5.1.3.2 广度优先遍历
5.1.4 连通性
5.1.4 连通性的基本定义
5.1.4.2 割点与桥
5.1.4.3 强连通分量
5.1.4.4 应用:2.5AI
5.1.5 哈密顿路与欧拉路
5.1.5.1 哈密顿路
5.1.5.2 欧拉路
5.1.6 最短路
5.1.6.1 Bellman-ford算法
5.1.6.2 Dijk5tra算法
5.1.6.3 Floyd算法
5.2 树
5.2.1 基本概念与遍历
5.2.1.1 树的基本定义与术语
5.2.1.2 树的遍历
5.2.2 生成树
5.2.2.1 生成树的基本概念
5.2.2.2 Prim算法
5.2.2.3 Kru5kal算法
5.2.2.4 最小生成树的变种
5.2.2.5 生成树计数
5.3 二分图
5.3.1 最大匹配
5.3.2 最大权匹配
5.3.3 稳定婚姻
5.4 网络流
5.4..1 基本概念
5.4.1.1 流网络
5.4.1.2 残量网络
5.4.1.3 增广路径
5.4.1.4 最大流最小割定理
5.4.2 最大流算法
5.4.2.1 Ford.Fulker‘5on算法
5.4.2.2 Dinic算法
5.4.3 费用流
5.4.4 流与割模型
5.4.4.1 上下界网络流
5.4.4.2 混合图欧拉回路
5.4.4.3 最大权闭合子图
第6章 计算几何
6.1 向量
6.3 多边形与圆
6.3.1 简单多边形
6.3.2 凸包问题
6.3.3 圆的面积并
6.4 半平面交
6.5 经典问题
6.5.1 线段求交
6.5.2 最近点对
6.5.3 最远点对
第7章 论题选编
7.1 背包问题
7.2 LG4与RMQ
7.3 快速傅里叶变换
7.4 字符串
7.4.1 字符串匹配
7.4.2 Trie
7.4.3 AC自动机
7.4.4 后缀数组
7.4.5 扩展KMP
第8章 求解策略
8.1 搜索
8.2 分治
8.3 贪心
8.4 动态规划
8.5 随机化
第三部分 在线资源
第9章 在线评测系统
9.1基本使用方法
9.2 U5ACO介绍
9.3 CII介绍
9.4 PKU介绍
9.5 5GU介绍
9.6 5POI介绍
第10章 网上比赛
10.1 GcI介绍
10.2 ropCoder介绍
10.3 Codeforce5介绍
参考文献