世界大学生程序设计竞赛 (ACM/ICPC) 高级教程
定 价:48 元
- 作者:吴文虎, 王建德编著
- 出版时间:2012/7/1
- ISBN:9787113146054
- 出 版 社:中国铁道出版社
- 中图法分类:TP311.1
- 页码:213页
- 纸张:胶版纸
- 版次:1
- 开本:16开
《世界大学程序设计竞赛(ACM/ICPC)高级教程(第2册):程序设计中常用的解题策略》是针对世界大学生程序设计竞赛(ACM/ICPC)而编写的第二本参考书。
ACM/ICPC是大学生智力与计算机解题能力的竞赛,是世界公认的最具影响力的、规模最大的国际顶级赛事,被称为大学生的信息学奥林匹克。
第一册主要介绍程序设计中解题的常用思维方式。《世界大学程序设计竞赛(ACM/ICPC)高级教程(第2册):程序设计中常用的解题策略》是第一册的继续,只是换了一个角度,分4方面介绍解题策略:数据关系上的构造策略;数据统计上的二分策略;动态规划中的优化策略;计算几何题的应对策略。
《世界大学程序设计竞赛(ACM/ICPC)高级教程(第2册):程序设计中常用的解题策略》面向参加世界大学生程序设计竞赛(ACM/ICPC)的高等院校学生,也可作为程序设计爱好者的参考用书。
吴文虎教授,1955年-1961年分别就读于清华大学电机工程系及自动控制系,现为计算机系教授、博士生导师,主要研究方向包括语音识别及语言理解、语音合成、语音信号数字处理等。吴教授学术水平精湛、教学水平高超、教学经验丰富,多年来用对学生无私的爱诠释了最好的师恩师德。他于1997年获清华大学优秀教学成果特等奖,1998年获“全国优秀教师一等奖”,1999年获国家科技部(原国家科委)授予的“全国科学普及先进个人奖”,1999年荣获“首都劳动奖章”,2001年获“全国师德先进个人奖”,2001年、2004年获北京市高等教育教学优秀成果一等奖,2003年为本科生讲授的“程序设计基础”课程被列为教育部首批“国家级精品课”,2004年获中国计算机学会颁发的“杰出贡献奖”,2006年获北京市高等教育教学名师奖;吴教授深受清华学子的爱戴,2003年获清华大学教书育人奖,2005年获清华大学第八届“良师益友”荣誉称号,2008年被清华大学学生会评为第一届“我最喜爱的教师”。
从1989年至今,吴教授作为总教练和领队,曾15次带领中国队参加国际信息学奥林匹克竞赛,中国队累计获金牌51块,届届名列前茅,2002年获信息学奥林匹克国际委员会颁发的“特别贡献奖”。1997年-2008年,吴教授连续13年指导清华大学的学生进入ACM世界大学生程序设计大赛总决赛,多次获金牌、银牌,并于2009年被大赛组委会授予“杰出教练奖”。
第7章 利用树状结构解题的策略
7.1 解决树的最大-最小划分问题的一般方法
7.2 利用最小生成树及其扩展形式解题
7.2.1 利用最小生成树解题
7.2.2 最小k度限制生成树的思想和应用
7.2.3 次小生成树的思想和应用
7.3 利用线段树解决区间计算问题
7.3.1 线段树的基本概念
7.3.2 线段树的基本操作
7.3.3 应用线段树解题
7.4 利用伸展树优化动态集合的操作
7.4.1 伸展树的基本操作
7.4.2 伸展树的效率分析
7.4.3 应用伸展树解题
7.5 利用左偏树实现优先队列的合并
7.5.1 左偏树的定义和性质
7.5.2 左偏树的操作
7.5.3 应用左偏树解题
7.6 利用“跳跃表”替代树结构
7.6.1 跳跃表的概况
7.6.2 跳跃表的基本操作
7.6.3 跳跃表的效率分析
7.6.4 应用跳跃表解题
小结
第8章 利用图形(网状)结构解题的策略
8.1 利用网络流算法解题
8.1.1 网络与流的概念
8.1.2 最大流算法的核心——增广路径
8.1.3 通过求最大流计算最小割切
8.1.4 求容量有上下界的最大流问题
8.1.5 网络流的应用
8.2 利用图的匹配算法解题
8.2.1 匹配的基本概念
8.2.2 计算二分图匹配的方法
8.2.3 利用一一对应的匹配性质转化问题
8.2.4 优化匹配算法
8.3 利用“分层图思想”解题
8.3.1 利用“分层图思想”构建图论模型
8.3.2 利用“分层图思想”优化算法
8.4 利用平面图性质解题
8.4.1 平面图的概念
8.4.2 平面图的应用实例
8.5 正确选择图论模型,优化图的运算
8.5.1 正确选择图论模型
8.5.2 在充分挖掘和利用图论模型性质的基础上优化算法
小结
第9章 数据关系上的构造策略
9.1 选择数据逻辑结构的基本原则
9.1.1 充分利用“可直接使用”的信息
9.1.2 不记录“无用”信息
9.2 选择数据存储结构的基本方法
9.2.1 合理采用顺序存储结构
9.2.2 必要时采用链式存储结构
9.3 科学组合多种数据结构
小结
第10章 数据统计上的二分策略
10.1 利用线段树统计数据
10.2 一种解决动态统计的静态方法
10.2.1 讨论一维序列的求和问题
10.2.2 将一维序列的求和问题推广至二维
10.3 在静态二叉排序树上统计数据
10.3.1 建立静态二叉排序树
10.3.2 在静态二叉排序树上进行统计
10.3.3 静态二叉排序树的应用
10.4 在虚二叉树上统计数据
小结
第11章 动态规划上的优化策略
第12章 计算几何上的应对策略
小结
图是用点、边和权来描述事物和事物之间的关系,是对实际问题的一种抽象。建立图论模型,就是要从问题的原型中,抽取有用的信息和要素,使要素间的内在联系体现在点、边、权的关系上,使纷杂的信息变得有序、直观、清晰。本章着重讨论了4种特殊的、有广泛应用前景的图结构:
网络流模型。网络是一种特殊类型的简单有向图(含源点、汇点和流量限制条件)。本章在阐述网络与流概念的基础上,讲解了最大流算法的核心——增广路径和通过最大流计算最小割的手段;在容量有上下界的网络中计算最大流的问题上,介绍了分离流量、等价变换流网络的方法。
网络流的算法具有十分广泛的用途,许多经典的图论问题可以转化成网络流量的计算,现实生活中的许多问题也可以转化为网络流和最小割问题。在解题过程中,构造流网络的数学模型最具挑战性意义。因为没有现成的模式可以套用,发现问题本质,创造可适用最大流算法的模型是解决问题的关键。
二分图模型。二分图G也是一种特殊类型的图,其点集V(G)可被分成两个互补的子集V1、V2对于属于同一子集的任两点x、y,(x,y)∈E(G)。由于这种特殊性,二分图作为描述现实世界中两类不同事物间的相互关系的有效模型而得到广泛的应用。二分图上的算法有很多区别于一般图算法的优势,所以将一个一般图转换成二分图,往往会取得“事半功倍”的效果。转换的关键一般是从题目本身的条件出发,挖掘题目中深层次的信息,通过一一对应的匹配性质分类图的结点。在建立起二分图的模型后,一般可通过合理使用二分图的基本算法和相关定理求解。计算二分图的最大匹配有匈牙利算法,计算结点加权二分图的最佳匹配有KM算法。如果二分图有更多的限制和要求,也可以通过最大流等更复杂的模型来解决,但从算法效率和编程复杂度上说,基于二分图的算法一般比基于最大流的算法简单高效。因此最佳的办法是,充分利用题目的特有性质,将经典的匹配算法适当变形,从而得到更高效的算法
……