软件下载站,为您提供安全的软件下载!

当前位置:首页 > 电脑专区 > 应用软件 > 电子阅读 > 挑战程序设计竞赛第2版(北川宜稔 著)pdf 高清扫描版

挑战程序设计竞赛第2版(北川宜稔 著)pdf 高清扫描版

分享到:
挑战程序设计竞赛第2版由世界顶级程序设计高手联手打造,日本ACM-ICPC参赛者人手一册。程序设计竞赛因其涉及的知识面广,比赛形式激烈有趣,吸引了越来越多的学生参与其中。参赛者不但可以从中锻炼算法设计能力,还能够提高代码编写能力。挑战程序设计竞赛第2版对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用技巧。每章后附有习题,供读者练习,巩固所学。只要是具有编程基础知识的读者,均适合阅读本书。书中的源代码均用c++实现,不过只用到了其基本功能,所以即便读者不熟悉c++也不影响阅读。
小编温馨提醒:这本书的内容比较多,要注意劳逸结合哦
挑战程序设计竞赛第2版

作者/译者介绍:

★秋叶拓哉 Google Code Jam 2010 第9名
ACM-ICPC World Finals 2012 第11名
TopCoder Open 2012 Algorithm 第4名
昵称iwi
★岩田阳一
Google Code Jam 2009 第3名
TopCoder Open 2010 Marathon 冠军
IPSC 2010 个人组 冠军
昵称wata
★北川宜稔
ACM-ICPC World Finals 2010第16名
昵称kita_masa
译者简介:
★巫泽俊
ACM-ICPC World Finals 2009 第6名
ACM-ICPC World Finals 2011 冠军
Google Code Jam 2012 第7名
昵称watashi和rejudge
★庄俊元
ACM-ICPC Asia Phuket Regional 2011 冠军
2012年跻身ACM-ICPC World Finals以及百度Astar总决赛
昵称navi和navimoe
★李津羽
浙江大学2011级计算机系博士生
在浙大CAD&CG实验室从事科研工作

目录:

第1章 蓄势待发--准备篇
1.1  何谓程序设计竞赛
1.2  最负盛名的程序设计竞赛
1.2.1  世界规模的大赛--Google Code Jam(GCJ)
1.2.2  向高排名看齐!--TopCoder
1.2.3  历史最悠久的竞赛-- ACM-ICPC
1.2.4  面向中学生的信息学奥林匹克竞赛--JOI-IOI
1.2.5  通过网络自动评测--Online Judge(OJ)
1.3  本书的使用方法
1.3.1  本书所涉及的内容
1.3.2  所用的编程语言
1.3.3  题目描述的处理
1.3.4  程序结构
1.3.5  练习题
1.3.6  读透本书后更上一层楼的练习方法
1.4  如何提交解答
1.4.1  POJ的提交方法
1.4.2  GCJ的提交方法
1.5  以高效的算法为目标
1.5.1  什么是复杂度
1.5.2  关于运行时间
1.6  轻松热身
1.6.1  先从简单题开始
1.6.2  POJ的题目Ants
1.6.3  难度增加的抽签问题
第2章 初出茅庐--初级篇
2.1  最基础的“穷竭搜索”
2.1.1  递归函数
2.1.2  栈
2.1.3  队列
2.1.4  深度优先搜索
2.1.5  宽度优先搜索
2.1.6  特殊状态的枚举
2.1.7  剪枝
2.2  一往直前!贪心法
2.2.1  硬币问题
2.2.2  区间问题
2.2.3  字典序最小问题
2.2.4  其他例题
2.3  记录结果再利用的“动态规划”
2.3.1  记忆化搜索与动态规划
2.3.2  进一步探讨递推关系
2.3.3  有关计数问题的DP
2.4  加工并存储数据的数据结构
2.4.1  树和二叉树
2.4.2  优先队列和堆
2.4.3  二叉搜索树
2.4.4  并查集
2.5  它们其实都是“图”
2.5.1  图是什么
2.5.2  图的表示
2.5.3  图的搜索
2.5.5  最小生成树
2.5.6  应用问题
2.6  数学问题的解题窍门
2.6.1  辗转相除法
2.6.2  有关素数的基础算法
2.6.3  模运算
2.6.4  快速幂运算
2.7.1  Minimum Scalar Product
2.7.2  Crazy Rows
2.7.3  Bribe the Prisoners
2.7.4  Millionaire
第3章 出类拔萃--中级篇
3.1  不光是查找值!“二分搜索”
3.1.1  从有序数组中查找某个值
3.1.2  假定一个解并判断是否可行
3.1.3  最大化最小值
3.1.4  最大化平均值
3.2  常用技巧精选(一)
3.2.1  尺取法
3.2.2  反转(开关问题)
3.2.3  弹性碰撞
3.2.4  折半枚举(双向搜索)
3.2.5  坐标离散化
3.3  活用各种数据结构
3.3.1  线段树
3.3.2  Binary Indexed Tree
3.3.3  分桶法和平方分割
3.4  熟练掌握动态规划
3.4.1  状态压缩DP
3.4.2  矩阵的幂
3.4.3  利用数据结构高效求解
3.5  借助水流解决问题的网络流
3.5.1  最大流
3.5.2  最小割
3.5.4  一般图匹配
3.5.5  匹配、边覆盖、独立集和顶点覆盖
3.5.6  最小费用流
3.5.7  应用问题
3.6  与平面和空间打交道的计算几何
3.6.1  计算几何基础
3.6.2  极限情况
3.6.3  平面扫描
3.6.4  凸包
3.6.5  数值积分
3.7  一起来挑战GCJ的题目(2)
3.7.1  Numbers
3.7.2  No Cheating
3.7.3  Stock Charts
3.7.5  Number Sets
3.7.6  Wi-fi Towers
第4章 登峰造极--高级篇
4.1  更加复杂的数学问题
4.1.1  矩阵
4.1.2  模运算的世界
4.1.3  计数
4.1.4  具有对称性的计数
4.2  找出游戏的必胜策略
4.2.1  游戏与必胜策略
4.2.2  Nim
4.2.3  Grundy数
4.3  成为图论大师之路
4.3.1  强连通分量分解
4.3.2  2-SAT
4.3.3  LCA
4.4  常用技巧精选(二)
4.4.1  栈的运用
4.4.2  双端队列的运用
4.4.3  倍增法
4.5  开动脑筋智慧搜索
4.5.1  剪枝
4.5.2  A*与IDA*
4.6  划分、解决、合并:分治法
4.6.1  数列上的分治法
4.6.2  树上的分治法
4.6.3  平面上的分治法
4.7  华丽地处理字符串
4.7.1  字符串上的动态规划算法
4.7.2  字符串匹配
4.7.3  后缀数组
4.8  一起来挑战GCJ的题目(3)
4.8.1  Mine Layer
4.8.2  Year of More Code Jam
4.8.3  Football Team
4.8.4  Endless Knight
4.8.5  The Year of Code Jam
本书中未涉及的拓展主题
书中例题列表
 参考文献

精彩书摘:

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

免责声明:

来源于网络,仅用于分享知识,学习和交流!请下载完在24小时内删除。
禁用于商业用途!如果您喜欢《挑战程序设计竞赛第2版》,请购买正版,谢谢合作。
爱学习,请到3322软件站查找资源自行下载!

使用说明:

方法一:
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必在3322软件站选择一款阅读器下载
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
方法二:
1、在手机里下载3322软件站中的阅读器和百度网盘
2、直接将pdf传输到百度网盘
3、用阅读器打开即可阅读
展开更多

软件截图

挑战程序设计竞赛第2版(北川宜稔 著)pdf 高清扫描版下载地址

下载提示

挑战程序设计竞赛第2版(北川宜稔 著)pdf 高清扫描版

正在下载...

扫描二维码,手机下载APP

软件下载站本地下载

相关文章