挑战程序设计竞赛(第2版)

下载地址 https://pan.baidu.com/s/1--bWh39OqU53jip0uTxsPA

扫码下面二维码关注公众号回复 100157获取分享码

本书目录结构如下:

第1章 蓄势待发——准备篇 1 
1.1  何谓程序设计竞赛 2 
1.2  最负盛名的程序设计竞赛 5 
1.2.1  世界规模的大赛——google code jam(gcj) 5 
1.2.2  向高排名看齐!——topcoder 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 scalar product 125 
2.7.2 crazy 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 no cheating 269 
3.7.3 stock charts 271 
3.7.4 watering plants 273 
3.7.5 number sets 278 
3.7.6 wi-fi towers 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 endless knight 399 
4.8.5 the year of code jam 403 
  本书中未涉及的拓展主题 408 
  书中例题列表 411

挑战程序设计竞赛(第2版)相关推荐

  1. 挑战程序设计竞赛(第2版)》

    <挑战程序设计竞赛(第2版)> 基本信息 作者: (日)秋叶拓哉 岩田阳一 北川宜稔 译者: 巫泽俊 庄俊元 李津羽 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787 ...

  2. 每周一书《 挑战程序设计竞赛 (第2版)》分享!

    内容简介 <挑战程序设计竞赛(第2版)>对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇.初级篇.中级篇与高级篇4章.作者结合自己丰富的参赛经验,对严格筛选的110多道各类试题进 ...

  3. 《挑战程序设计竞赛(第2版)》习题册攻略

    本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...

  4. ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)

    白书<挑战程序设计竞赛>(第2版)题目一览 白书:秋田拓哉:<挑战程序设计竞赛>(第2版) 第1章 蓄势待发--准备篇(例题) POJ1852 UVa10714 ZOJ2376 ...

  5. 挑战程序设计竞赛:反转法

    挑战程序设计竞赛:反转法 1. 题目介绍 1.1 题目 1.2 样例 2. 思路讲解 2.1 视频讲解 2.1 反转法(开关问题) 3. 练习题 4. 附录:程序代码 4.1 Java 4.2 C++ ...

  6. 《挑战程序设计竞赛》--初级篇习题POJ部分【动态规划】

    关于基本的动态规划和经典的动态规划,在之前已经总结过了,可以温习一下: 传送门 这次是延续上次的<挑战程序设计竞赛>初级篇,总结部分poj上的练习题,主要是DP方面的练习题: 一.基础的动 ...

  7. POJ 1150 The Last Non-zero Digit 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 1150 The Last Non-zero Digit超大组合数:求超大组合数P(n, m)的最后一个非零位.4.1更加复杂 ...

  8. POJ 3735 Training little cats​ 题解 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 3735 Training little cats调教猫咪:有n只饥渴的猫咪,现有一组羞耻Play,由k个操作组成,全部选自: ...

  9. POJ 3608 Bridge Across Islands 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 3608 Bridge Across Islands跨岛大桥:在两个凸包小岛之间造桥,求最小距离?3.6与平面和空间打交道的计 ...

  10. AOJ 1312 Where's Wally 题解《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    本文由码农场 同步,最新版本请查看原文:http://www.hankcs.com/program/algorithm/aoj-131 ...

最新文章

  1. python自动化办公入门书籍推荐-好书推荐 | Python 如此神奇,让繁琐工作自动化...
  2. 浅谈Spring MVC知识
  3. json数组 js html标签,JS 实现创建HTML标签及解析Json
  4. c打印无符号整数_C语言基础知识:printf的输出格式,C/C++语言编程讲解
  5. echarts 柱状图 ,颜色和显示设置
  6. 提问:Server Application Unavailable
  7. tensorflow之卷积池化和全连接
  8. phpmyadmin安装配置以及相关问题
  9. 判断Exe文件是否正在运行的函数
  10. 海思码率控制器各参数说明
  11. CF-HW04-胡杰-16332054
  12. 如何解决安装佳能LBP2900驱动时总是提示无法识别USB连接(附带驱动程序下载地址)
  13. Win 10.0.16299.15 禁用五笔输入法Shift切换中英文
  14. MTK6737平台的GPIO驱动例程(六)
  15. mvn install BUILD FAILURE : Downloading from central: https://repo.maven.apache.org/maven2/org/sp...
  16. 曾国藩:物来顺应,未来不迎,当时不杂,既过不恋
  17. 升腾c10,华为ct3100安装nextcloud,KodExplorer网盘
  18. IT行业里哪些岗位既火爆又高薪?
  19. Th4.6:模板全特化、偏特化(局部特化)详述
  20. 写给程序员看的《2018 愚人节防忽悠指南》

热门文章

  1. 使用pyecharts绘制新冠肺炎疫情地图
  2. T61 拆机4短报警 续
  3. Linux-lsof
  4. CMMI中的过程改进
  5. 《数据库系统基础教程》读书笔记——第二章 关系数据模型(1)
  6. 银行排队叫号系统项目总结
  7. 基于单片机的智能排队叫号系统设计
  8. 项目管理概论【项目管理基础-第一章 项目与项目管理】
  9. SQL Server数据库 - 安装教程
  10. 什么是java实例化?举例说明