ACM国际大学生程序设计竞赛(ACM-ICPC)是国际上认可的水准高、经营规模大、危害深的软件工程专业竞赛,现阶段全世界参加总数达20万左右。《ACM国际大学生程序设计竞赛(算法与保持)》创作者俞勇将16年的教练员工作经验与累积编写成本费系列丛书,全方位、深层次而系统化将ACM-ICPC呈现给用户。本系列丛书包含《ACM国际大学生程序设计竞赛:知识与入门》、《ACM国际大学生程序设计竞赛(算法与保持)》、《ACM国际大学生程序设计竞赛:题目与解读》、《ACM国际大学生程序设计竞赛:比赛与思索》等4册,在其中《ACM国际大学生程序设计竞赛:知识与入门》详细介绍了ACM-ICPC的专业知识以及归类、升阶与人物角色、免费在线测评系统软件;《ACM国际大学生程序设计竞赛(算法与保持)》详细介绍了ACM-ICPC算法归类、保持及数据库索引;《ACM国际大学生程序设计竞赛:题型与讲解》为各种算法配置經典练习题及试题,并出示答题构思;《ACM国际大学生程序设计竞赛:比赛与思索》详细介绍了上海交大ACM-ICPC的训炼及比赛,包含训炼札记、赛场风云、賽季横纵、冠军之路、激情岁月。
本丛书适用报名参加ACM国际大学生程序设计竞赛的本科毕业和硕士生,对报名参加青少年儿童信息学奥林匹克竞赛的中小学生也很有具体指导使用价值。另外,做为程序设计、数据结构、算法等有关课程内容的扩展与提高,本丛书都是难能可贵的课堂教学协助读本。
目录
- 第一部分 算法
- 第1章 数学
- 1.1 矩阵
- 1.1.1 矩阵类
- 1.1.2 Gauss消元
- 1.1.3 矩阵的逆
- 1.1.4 常系数线性齐次递推
- 1.2 整除与剩余
- 1.2.1 欧几里得算法
- 1.2.2 扩展欧几里得
- 1.2.3 单变元模线性方程
- 1.2.4 中国剩余定理
- 1.2.5 求原根
- 1.2.6 平方剩余
- 1.2.7 离散对数
- 1.2.8 N次剩余
- 1.3 素数与函数
- 1.3.1 素数筛法
- 1.3.2 素数判定
- 1.3.3 质因数分解
- 1.3.4 欧拉函数计算
- 1.3.5 Mobius函数计算
- 1.4 数值计算
- 1.4.1 数值积分
- 1.4.2 高阶代数方程求根
- 1.5 其他
- 1.5.1 快速幂
- 1.5.2 进制转换
- 1.5.3 格雷码
- 1.5.4 高精度整数
- 1.5.5 快速傅立叶变换
- 1.5.6 分数类
- 1.5.7 全排列散列
- 第2章 图论
- 2.1 图的遍历及连通性
- 2.1.1 前向星
- 2.1.2 割点和桥
- 2.1.3 双连通分量
- 2.1.4 极大强连通分量Tarjan算法
- 2.1.5 拓扑排序
- 2.1.6 2SAT
- 2.2 路径
- 2.2.1 Dijkstra
- 2.2.2 SPFA
- 2.2.3 Floyd-Warshall
- 2.2.4 无环图最短路
- 2.2.5 第k短路
- 2.2.6 欧拉回路
- 2.2.7 混合图欧拉回路
- 2.3 匹配
- 2.3.1 匈牙利算法
- 2.3.2 Hopcroft-Karp算法
- 2.3.3 KM算法
- 2.3.4 一般图最大匹配
- 2.4 树
- 2.4.1 LCA
- 2.4.2 最小生成树Prim算法
- 2.4.3 最小生成树Kruskal算法
- 2.4.4 单度限制最小生成树
- 2.4.5 最小树形图
- 2.4.6 最优比例生成树
- 2.4.7 树的直径
- 2.5 网络流
- 2.5.1 最大流Dinic算法
- 2.5.2 最小割
- 2.5.3 无向图最小割
- 2.5.4 有上下界的网络流
- 2.5.5 费用流
- 2.6 其他
- 2.6.1 完美消除序列
- 2.6.2 弦图判定
- 2.6.3 最大团搜索算法
- 2.6.4 极大团的计数
- 2.6.5 图的同构
- 2.6.6 树的同构
- 第3章 计算几何
- 3.1 多边形
- 3.1.1 计算几何误差修正
- 3.1.2 计算几何点类
- 3.1.3 计算几何线段类
- 3.1.4 多边形类
- 3.1.5 多边形的重心
- 3.1.6 多边形内格点数
- 3.1.7 凸多边形类
- 3.1.8 凸多边形的直径
- 3.1.9 半平面切割多边形
- 3.1.1 0半平面交
- 3.1.1 1凸多边形交
- 3.1.1 2多边形的核
- 3.1.1 3凸多边形与直线集交
- 3.2 圆
- 3.2.1 圆与线求交
- 3.2.2 圆与多边形交的面积
- 3.2.3 最小圆覆盖
- 3.2.4 圆与圆求交
- 3.2.5 圆的离散化
- 3.2.6 圆的面积并
- 3.3 三维计算几何
- 3.3.1 三维点类
- 3.3.2 三维直线类
- 3.3.3 三维平面类
- 3.3.4 三维向量旋转
- 3.3.5 长方体表面两点最短距离
- 3.3.6 四面体体积
- 3.3.7 最小球覆盖
- 3.3.8 三维凸包
- 3.4 其他
- 3.4.1 三角形的四心
- 3.4.2 最近点对
- 3.4.3 平面最小曼哈顿距离生成树
- 3.4.4 最大空凸包
- 3.4.5 平面划分
- 第4章 数据结构
- 4.1 二叉堆
- 4.2 并查集
- 4.3 树状数组
- 4.4 左偏树
- 4.5 Trie
- 4.6 Treap
- 4.7 伸展树
- 4.8 RMQ线段树
- 4.9 ST表
- 4.1 0动态树
- 4.1 1块状链表
- 4.1 2树链剖分
- 第5章 论题选编
- 5.1 字符串
- 5.1.1 KMP
- 5.1.2 扩展KMP
- 5.1.3 串的最小表示
- 5.1.4 有限状态自动机
- 5.1.5 后缀数组
- 5.1.6 最长重复子串
- 5.1.7 最长公共子串
- 5.1.8 最长回文子串manacher算法
- 5.1.9 字符串散列
- 5.2 转换
- 5.2.1 星期计算
- 5.2.2 日期相隔天数计算
- 5.2.3 斐波那契进制转换
- 5.2.4 罗马进制转换
- 5.3 构造
- 5.3.1 幻方构造
- 5.3.2 N皇后问题
- 5.3.3 旋转魔方
- 5.3.4 骑士周游问题
- 5.4 计算
- 5.4.1 表达式计算
- 5.4.2 最大权子矩形
- 5.4.3 矩形面积并
- 5.4.4 矩形并的周长
- 5.5 序列
- 5.5.1 第k小数
- 5.5.2 逆序对
- 5.5.3 最长公共子序列
- 5.5.4 最长公共上升子序列
- 第二部分 贴士
- 第6章 代数
- 6.1 Bertrand猜想
- 6.2 差分序列
- 6.3 威尔逊定理
- 6.4 约数个数
- 6.5 行列式的值
- 6.6 最小二乘法
- 第7章 解析几何
- 7.1 四边形
- 7.2 抛物线
- 7.3 双曲线
- 7.4 椭圆
- 第8章 平面立体几何
- 8.1 费马点
- 8.2 皮克定理
- 8.3 三角公式
- 8.4 三维几何体
- 8.5 托勒密定理
- 第9章 组合数学
- 9.1 Catalan数
- 9.2 组合公式
- 第10章 图论
- 10.1 树的计数
- 10.2 有特殊条件的汉米尔顿回路
- 10.3 普吕弗序列
- 10.4 模2意义下的二分图匹配数
- 第11章 积分表