• 挑战程序设计竞赛:第2版 编程语言 ()秋叶拓哉,()岩田阳一,()北川宜稔 新华正版
  • 挑战程序设计竞赛:第2版 编程语言 ()秋叶拓哉,()岩田阳一,()北川宜稔 新华正版
21年品牌 40万+商家 超1.5亿件商品

挑战程序设计竞赛:第2版 编程语言 ()秋叶拓哉,()岩田阳一,()北川宜稔 新华正版

53.8 6.8折 79 全新

库存12件

江苏无锡
认证卖家担保交易快速发货售后保障

作者()秋叶拓哉,()岩田阳一,()北川宜稔

出版社人民邮电出版社

ISBN9787115320100

出版时间2013-07

版次1

装帧平装

开本16

页数414页

字数626千字

定价79元

货号xhwx_1200710374

上书时间2024-04-17

翰林文轩旗舰店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
正版特价新书
商品描述
目录:

章 蓄势待发——准备篇 1 
1.1 何谓程序设计竞赛 2 
1.2 负盛名的程序设计竞赛 5 
1.2.1 世界规模的大赛——google code jam(gcj) 5 
1.2.2 向高排名看齐!——top coder 5 
1.2.3 历史悠久的竞赛——acm—icpc 6 
1.2.4 面向中的信息学奥林匹克竞赛——joi—ioi 6 
1.2.5 通过网络自动评测——online judge(oj) 6 
1.3 本书的使用方法 7 
1.3.1 本书所涉及的内容 7 
1.3.2 所用的编程语言 7 
1.3.3 题目描述的处理 7 
1.3.4 程序结构 7 
1.3.5 练题 8 
1.3.6 读透本书后更上一层楼的练方法 8 
1.4 如何提交解答 9 
1.4.1 poj的提交方法 9 
1.4.2 gcj的提交方法 11 
1.5 以高效的算法为目标 15 
1.5.1 什么是复杂度 15 
1.5.2 关于运行时间 15 
1.6 轻松热身 16 
1.6.1 先从简单题开始 16 
1.6.2 poj的题目ants 18 
1.6.3 难度增加的抽签问题 20 
第2章 初出茅庐——初级篇 25 
2.1 基础的“穷竭搜索” 26 
2.1.1 递归函数 26 
2.1.2 栈 27 
2.1.3 队列 28 
2.1.4 深度优先搜索 29 
2.1.5 宽度优先搜索 33 
2.1.6 特殊的枚举 37 
2.1.7 剪枝 38 
2.2 一往直前!贪心法 39 
2.2.1 硬币问题 39 
2.2.2 区间问题 40 
2.2.3 字典序小问题 43 
2.2.4 其他例题 45 
2.3 记录结果再利用的“动态规划” 51 
2.3.1 记忆化搜索与动态规划 51 
2.3.2 进一步探讨递推关系 57 
2.3.3 有关问题的dp 66 
2.4 加工并存储数据的数据结构 70 
2.4.1 树和二树 70 
2.4.2 优先队列和堆 71 
2.4.3 二搜索树 77 
2.4.4 并查集 84 
2.5 它们其实都是“图” 91 
2.5.1 图是什么 91 
2.5.2 图的表示 94 
2.5.3 图的搜索 97 
2.5.4 短路问题 99 
2.5.5 小生成树 105 
2.5.6 应用问题 107 
2.6 数学问题的解题窍门 113 
2.6.1 辗转相除法 113 
2.6.2 有关素数的基础算法 117 
2.6.3 模运算 121 
2.6.4 快速幂运算 122 
2.7 一起来挑战gcj的题目(1) 125 
2.7.1 minimum scala rproduct 125 
2.7.2 craz rows 127 
2.7.3 bribe the prisoners 129 
2.7.4 millionaire 132 
第3章 出类拔萃——中级篇 137 
3.1 不光是查找值!“二分搜索” 138 
3.1.1 从有序数组中查找某个值 138 
3.1.2 定一个解并判断是否可行 140 
3.1.3 优选化小值 142 
3.1.4 优选化均值 143 
3.2 常用精选(一) 146 
3.2.1 尺取法 146 
3.2.2 反转(开关问题) 150 
3.2.3 弹碰撞 158 
3.2.4 折半枚举(双向搜索) 160 
3.2.5 坐标离散化 164 
3.3 活用各种数据结构 167 
3.3.1 线段树 167 
3.3.2 binary indexed tree 174 
3.3.3 分桶法和方分割 183 
3.4 熟练掌握动态规划 191 
3.4.1 压缩dp 191 
3.4.2 矩阵的幂 199 
3.4.3 利用数据结构高效求解 206 
3.5 借助水流解决问题的网络流 209 
3.5.1 优选流 209 
3.5.2 小割 212 
3.5.3 二分图匹配 217 
3.5.4 一般图匹配 220 
3.5.5 匹配、边覆盖、独立集和顶点覆盖 221 
3.5.6 小费用流 222 
3.5.7 应用问题 228 
3.6 与面和空间打交道的计算几何 250 
3.6.1 计算几何基础 250 
3.6.2 极限情况 255 
3.6.3 面扫描 258 
3.6.4 凸包 260 
3.6.5 数值积分 263 
3.7 一起来挑战gcj的题目(2) 267 
3.7.1 numbers 267 
3.7.2 nocheating 269 
3.7.3 stock charts 271 
3.7.4 watering nts 273 
3.7.5 number sets 278 
3.7.6 wi—fitowers 280 
第4章 登峰造极——篇 285 
4.1 更加复杂的数学问题 286 
4.1.1 矩阵 286 
4.1.2 模运算的世界 291 
4.1.3  295 
4.1.4 具有对称的 300 
4.2 找出游戏的必胜策略 305 
4.2.1 游戏与必胜策略 305 
4.2.2 nim 311 
4.2.3 grundy数 315 
4.3 成为图论大师之路 320 
4.3.1 强连通分量分解 320 
4.3.2 2—sat 324 
4.3.3 lca 328 
4.4 常用精选(二) 335 
4.4.1 栈的运用 335 
4.4.2 双端队列的运用 337 
4.4.3 倍增法 345 
4.5 开动脑筋智慧搜索 350 
4.5.1 剪枝 350 
4.5.2 a*与ida* 356 
4.6 划分、解决、合并:分治法 359 
4.6.1 数列上的分治法 359 
4.6.2 树上的分治法 360 
4.6.3 面上的分治法 364 
4.7 华丽地处理字符串 368 
4.7.1 字符串上的动态规划算法 368 
4.7.2 字符串匹配 373 
4.7.3 后缀数组 378 
4.8 一起来挑战gcj的题目(3) 387 
4.8.1 mine layer 387 
4.8.2 year of more code jam 392 
4.8.3 football team 395 
4.8.4 end less knight 399 
4.8.5 the year of code jam 403 
本书中未涉及的拓展主题 408 
书中例题列表 411 
参文献 413 

内容简介:

秋叶拓哉、岩田阳一、北川宜稔所著的挑战程序设计竞赛(第2版)对程序设计竞赛中的基础算法和经典问题进行了汇,分为准备篇、初级篇、中级篇与篇4章。作者结合自己丰富的参赛经验,对严格筛选的110多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用。每章后附有题,供读者练,巩固所学。
挑战程序设计竞赛(第2版)适合程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。

精彩内容:

2.5.5 小生成树 
给定一个无向图,如果它的某个子图中任意两个顶点都互相连通并且是一棵树,那么这棵树叫做生成树(panning tree)。如果边上有权值,那么使得边权和小的生成树叫做小生成树(mt,minimum panning tree)。 
例如我们设有这样一个图:把顶点看作村庄,边看作计划要修建的道路。为了在所有的村庄间通行,恰好修建村庄数目—1条道路时的情形对应了一棵生成树。修建道路需要投入建设费,那么求解使得道路建设费用小的生成树是小生成树问题。 
常见的求解小生成树的算法有krukal算法和prim算法。很显然,生成树是否存在和图是否连通是等价的,因此我们定图是连通的。 
1.小生成树问题1(prim算法) 
首先我们介绍prim算法。prim算法和dijktra算法十分相似,都是从某个顶点出发,不断添加边的算法。 
首先,我们设有一棵只包含一个顶点v的树t。然后贪心地选取t和其他顶点之间相连的小权值的边,并把它加到t中。不断进行这个作,可以得到一棵生成树了。接下来我们来证明通过这个方法得到的生成树是小生成树。 

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

正版特价新书
此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP