- 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
作者简介
吴永辉,博士,复旦大学计算机科学技术学院副教授,美国石溪大学访问学者,ICPC亚洲程序设计竞赛首训练委员会主席。他曾率队在ICPC世界总决赛上获得三枚奖牌,并应邀在阿曼、孟加拉国、马来西亚、美国的多所高校长期讲学。 王建德,信息学奥林匹克竞赛教练,国务院特殊津贴专家,中学特级教9币。他所辅导的学生曾在国际信息学竞赛(IOI)中获得7金、3银、2铜的优异成绩。他先后出版了24本关于程序设计和算法的学术专著。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0