暂无评论
图文详情
- ISBN:9787111645818
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:544
- 出版时间:2020-03-01
- 条形码:9787111645818 ; 978-7-111-64581-8
本书特色
本书从ACM-ICPC程序设计竞赛等各种程序设计竞赛的试题进行了分析和整理,并精选出典型试题进行分类解析,既可用于高校算法、程序设计课程的实验和教学,也可以用于竞赛选手的系统训练。
内容简介
本书从ACM-ICPC程序设计竞赛等各种程序设计竞赛的试题进行了分析和整理,并精选出典型试题进行分类解析,既可用于高校算法、程序设计课程的实验和教学,也可以用于竞赛选手的系统训练。
目录
前 言
第1章 求解Ad Hoc类问题的编程实验 1
1.1 机理分析法的实验范例 1
1.2 统计分析法的实验范例 5
1.3 相关题库 9
第2章 模拟法的编程实验 31
2.1 直叙式模拟的实验范例 31
2.2 筛选法模拟的实验范例 46
2.3 构造法模拟的实验范例 56
2.4 相关题库 60
第3章 数论的编程实验 72
3.1 素数运算的实验范例 72
3.1.1 使用筛法生成素数 72
3.1.2 测试大素数 79
3.2 求解不定方程和同余的实验范例 82
3.2.1 计算*大公约数和不定方程 82
3.2.2 计算同余方程和同余方程组 89
3.2.3 计算多项式同余方程 99
3.3 特殊的同余式的实验范例 102
3.3.1 威尔逊定理和费马小定理 102
3.3.2 伪素数 105
3.3.3 欧拉定理 112
3.4 积性函数的实验范例 116
3.4.1 欧拉φ函数φ(n) 116
3.4.2 莫比乌斯函数μ(n) 121
3.4.3 完全数和梅森素数 124
3.5 高斯素数的实验范例 129
3.6 相关题库 135
第4章 组合分析的编程实验 152
4.1 生成排列的实验范例 152
4.1.1 按字典序思想生成下一个排列 152
4.1.2 按字典序思想生成所有排列 154
4.2 排列组合计数的实验范例 156
4.2.1 一般的排列组合计数公式 156
4.2.2 两种特殊的排列组合计数公式 167
4.2.3 多重集的排列数和组合数 174
4.3 鸽笼原理与容斥原理的实验范例 178
4.3.1 利用鸽笼原理求解存在性问题 178
4.3.2 容斥原理应用实验 180
4.3.3 Ramsey定理的应用 188
4.4 Pólya计数公式的实验范例 190
4.5 生成函数与递推关系的实验范例 201
4.5.1 幂级数型生成函数 201
4.5.2 指数型生成函数 204
4.5.3 递推关系 207
4.6 快速傅里叶变换的实验范例 211
4.7 相关题库 216
第5章 贪心法的编程实验 229
5.1 体验贪心法内涵的实验范例 229
5.1.1 贪心法的经典问题 229
5.1.2 体验贪心法内涵 236
5.2 利用数据有序化进行贪心选择的实验范例 241
5.3 在综合性的P类问题中使用贪心法的实验范例 249
5.4 相关题库 255
第6章 动态规划方法的编程实验 265
6.1 线性DP的实验范例 266
6.1.1 初步体验线性DP问题 266
6.1.2 子集和问题 270
6.1.3 *长公共子序列问题 271
6.1.4 *长递增子序列问题 273
6.2 0-1背包问题 280
6.2.1 基本的0-1背包问题 280
6.2.2 完全背包 281
6.2.3 多重背包 285
6.2.4 混合背包 287
6.2.5 二维背包 292
6.2.6 分组背包 294
6.2.7 有依赖的背包 298
6.3 树形DP的实验范例 300
6.4 状态压缩DP的实验范例 305
6.5 单调优化1D/1D DP的实验范例 309
6.5.1 经典模型1:利用决策代价函数w的单调性优化 310
6.5.2 经典模型2:利用决策区间下界的单调性优化 313
6.5.3 经典模型3:利用*优决策点的凸性优化 318
6.6 相关题库 322
第7章 高级数据结构的编程实验 353
7.1 后缀数组的实验范例 353
7.1.1 使用倍增算法计算名次数组和后缀数组 353
7.1.2 计算*长公共前缀 356
7.1.3 后缀数组的应用 357
7.2 线段树的实验范例 370
7.2.1 线段树的基本概念和基本操作 370
7.2.2 线段树单点更新的维护 372
7.2.3 线段树子区间更新的维护 375
7.3 处理特殊图的实验范例 387
7.3.1 计算欧拉图 387
7.3.2 计算哈密顿图 393
7.3.3 计算*大独立集 402
7.3.4 计算割点、桥和双连通分支 406
7.4 相关题库 414
第8章 计算几何的编程实验 433
8.1 点线面运算的实验范例 433
8.1.1 计算点积和叉积 433
8.1.2 计算线段交 440
8.1.3 利用欧拉公式计算多面体 449
8.2 利用扫描线算法计算矩形的并的面积的实验范例 453
8.2.1 沿垂直方向计算矩形的并面积 453
8.2.2 沿水平方向计算矩形的并面积 457
8.3 计算半平面交的实验范例 460
8.3.1 计算半平面交的联机算法 461
8.3.2 利用极角计算半平面交的算法 466
8.4 计算凸包和旋转卡壳的实验范例 474
8.4.1 计算凸包 474
8.4.2 旋转卡壳实验 479
8.5 相关题库 482
第1章 求解Ad Hoc类问题的编程实验 1
1.1 机理分析法的实验范例 1
1.2 统计分析法的实验范例 5
1.3 相关题库 9
第2章 模拟法的编程实验 31
2.1 直叙式模拟的实验范例 31
2.2 筛选法模拟的实验范例 46
2.3 构造法模拟的实验范例 56
2.4 相关题库 60
第3章 数论的编程实验 72
3.1 素数运算的实验范例 72
3.1.1 使用筛法生成素数 72
3.1.2 测试大素数 79
3.2 求解不定方程和同余的实验范例 82
3.2.1 计算*大公约数和不定方程 82
3.2.2 计算同余方程和同余方程组 89
3.2.3 计算多项式同余方程 99
3.3 特殊的同余式的实验范例 102
3.3.1 威尔逊定理和费马小定理 102
3.3.2 伪素数 105
3.3.3 欧拉定理 112
3.4 积性函数的实验范例 116
3.4.1 欧拉φ函数φ(n) 116
3.4.2 莫比乌斯函数μ(n) 121
3.4.3 完全数和梅森素数 124
3.5 高斯素数的实验范例 129
3.6 相关题库 135
第4章 组合分析的编程实验 152
4.1 生成排列的实验范例 152
4.1.1 按字典序思想生成下一个排列 152
4.1.2 按字典序思想生成所有排列 154
4.2 排列组合计数的实验范例 156
4.2.1 一般的排列组合计数公式 156
4.2.2 两种特殊的排列组合计数公式 167
4.2.3 多重集的排列数和组合数 174
4.3 鸽笼原理与容斥原理的实验范例 178
4.3.1 利用鸽笼原理求解存在性问题 178
4.3.2 容斥原理应用实验 180
4.3.3 Ramsey定理的应用 188
4.4 Pólya计数公式的实验范例 190
4.5 生成函数与递推关系的实验范例 201
4.5.1 幂级数型生成函数 201
4.5.2 指数型生成函数 204
4.5.3 递推关系 207
4.6 快速傅里叶变换的实验范例 211
4.7 相关题库 216
第5章 贪心法的编程实验 229
5.1 体验贪心法内涵的实验范例 229
5.1.1 贪心法的经典问题 229
5.1.2 体验贪心法内涵 236
5.2 利用数据有序化进行贪心选择的实验范例 241
5.3 在综合性的P类问题中使用贪心法的实验范例 249
5.4 相关题库 255
第6章 动态规划方法的编程实验 265
6.1 线性DP的实验范例 266
6.1.1 初步体验线性DP问题 266
6.1.2 子集和问题 270
6.1.3 *长公共子序列问题 271
6.1.4 *长递增子序列问题 273
6.2 0-1背包问题 280
6.2.1 基本的0-1背包问题 280
6.2.2 完全背包 281
6.2.3 多重背包 285
6.2.4 混合背包 287
6.2.5 二维背包 292
6.2.6 分组背包 294
6.2.7 有依赖的背包 298
6.3 树形DP的实验范例 300
6.4 状态压缩DP的实验范例 305
6.5 单调优化1D/1D DP的实验范例 309
6.5.1 经典模型1:利用决策代价函数w的单调性优化 310
6.5.2 经典模型2:利用决策区间下界的单调性优化 313
6.5.3 经典模型3:利用*优决策点的凸性优化 318
6.6 相关题库 322
第7章 高级数据结构的编程实验 353
7.1 后缀数组的实验范例 353
7.1.1 使用倍增算法计算名次数组和后缀数组 353
7.1.2 计算*长公共前缀 356
7.1.3 后缀数组的应用 357
7.2 线段树的实验范例 370
7.2.1 线段树的基本概念和基本操作 370
7.2.2 线段树单点更新的维护 372
7.2.3 线段树子区间更新的维护 375
7.3 处理特殊图的实验范例 387
7.3.1 计算欧拉图 387
7.3.2 计算哈密顿图 393
7.3.3 计算*大独立集 402
7.3.4 计算割点、桥和双连通分支 406
7.4 相关题库 414
第8章 计算几何的编程实验 433
8.1 点线面运算的实验范例 433
8.1.1 计算点积和叉积 433
8.1.2 计算线段交 440
8.1.3 利用欧拉公式计算多面体 449
8.2 利用扫描线算法计算矩形的并的面积的实验范例 453
8.2.1 沿垂直方向计算矩形的并面积 453
8.2.2 沿水平方向计算矩形的并面积 457
8.3 计算半平面交的实验范例 460
8.3.1 计算半平面交的联机算法 461
8.3.2 利用极角计算半平面交的算法 466
8.4 计算凸包和旋转卡壳的实验范例 474
8.4.1 计算凸包 474
8.4.2 旋转卡壳实验 479
8.5 相关题库 482
展开全部
作者简介
吴永辉,博士,复旦大学计算机科学技术学院副教授,美国石溪大学访问学者,ICPC亚洲程序设计竞赛首训练委员会主席。他曾率队在ICPC世界总决赛上获得三枚奖牌,并应邀在阿曼、孟加拉国、马来西亚、美国的多所高校长期讲学。 王建德,信息学奥林匹克竞赛教练,国务院特殊津贴专家,中学特级教9币。他所辅导的学生曾在国际信息学竞赛(IOI)中获得7金、3银、2铜的优异成绩。他先后出版了24本关于程序设计和算法的学术专著。
本类五星书
本类畅销
-
大模型应用开发极简入门 基于GPT-4和ChatGPT
¥41.9¥59.8 -
这就是ChatGPT
¥41.9¥59.8 -
电脑组装、选购、操作、维护、维修从入门到精通
¥32.2¥48.0 -
数据结构教程(第6版·微课视频·题库版)
¥46.5¥65.0 -
计算机组成原理实验指导与习题解析
¥34.8¥52.0 -
微信小程序开发教程
¥31.4¥49.0 -
机器学习
¥47.4¥108.0 -
C程序设计(第五版)
¥18.6¥49.0 -
深度学习导论
¥24.5¥49.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥36.4¥68.0 -
RFID与智能卡技术实验指导书
¥28.4¥36.0 -
UNITY游戏开发经典实例
¥73.0¥128.0 -
软件开发技术基础 第4版
¥65.7¥79.9 -
软件测试
¥50.0¥68.0 -
AIGC文图学 人类3.0时代的生产力
¥36.0¥48.0 -
AFter Effects 影视后期特效实战教程
¥45.0¥69.8 -
生物特征识别算法研究
¥20.1¥39.0 -
大模型应用开发动手做AIAGENT
¥62.9¥89.8 -
游戏造物主;游戏与制作人的幕后故事
¥63.6¥108.0 -
python语言程序设计(第2版)(含视频教学)
¥50.6¥69.9