算法竞赛入门经典(第2版)
该书程序源代码所在网址:https://github.com/aoapc-book/aoapc-bac2nd 网址上的资源会不断更新,请需要者保持关注。

作者:刘汝佳

丛书名:算法艺术与信息学竞赛

定价:79.8元

印次:2-31

ISBN:9787302356288

出版日期:2014.06.01

印刷日期:2024.11.21

图书责编:贾小红

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

本书是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 本书可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。

刘汝佳,1982年12月生,高中毕业于重庆市外国语学校。 2000年3月获得NOI2000全国青少年信息学奥林匹克竞赛一等奖第四名,进入国家集训队,并因此保送到清华大学计算机科学与技术系。大一时获2001年ACM/ICPC国际大学生程序设计竞赛亚洲-上海赛区冠军和2002年世界总决赛银牌(世界第四),2005年获学士学位,2008年获硕士学位。学生时代曾为中国计算机学会NOI科学委员会学生委员,担任IOI2002-2008中国国家队教练,并为NOI系列比赛命题十余道。现为NOI竞赛委员会委员,并在NOI 25周年时获得中国计算机学会颁发的“特别贡献奖”。2004年至今共为ACM/ICPC亚洲赛区命题二十余道,担任6次裁判和2次命题总监,并应邀参加IOI和ACM/ICPC相关国际研讨会,发表论文两篇。2004年初作为第一作者出版专著《算法艺术与信息学竞赛》,2009年出版译著《编程挑战》,2009年出版《算法竞赛入门经典》,2012年9月出版《算法竞赛入门经典——训练指南》。多年来在全国二十余个城市进行中学生竞赛培训工作,为北京、上海、吉隆坡等地的著名高校授课与宣讲,并多次与TopCoder、百度和网易有道等�名企业合作举办比赛,让更多的IT人才获得展示自我的平台。�

第2版前言 《算法竞赛入门经典》第1版出版至今已有四个年头。这四年间发生了很多变化,如NOI系列比赛终于对STL“解禁”,如C11和C++11标准出台,g++编译器升级(直接导致本书第1版中官方使用的<?和>?运算符无法编译通过),如《算法竞赛入门经典——训练指南》的出版弥补了本书第1版的很多缺憾,再如ACM/ICPC的蓬勃发展,使更多的大学生了解并参与到了算法竞赛中来…… 看来,是时候给本书“升级”了。 主要的变化 我原本打算只是增加一章专门介绍C++和STL,用符合新语言规范的方式重写部分代码,顺便增加一些例题和习题,没想到一写就是100页——几乎让书的篇幅翻了一倍。写作第1版时,220页的篇幅是和诸位一线中学教师商量后定下来的,因为书太厚会让初学者望而生畏。不过这几年的读者反馈让我意识到:由于篇幅限制,太多的东西让读者意犹未尽,还不如多写点。虽然之后出版了《算法竞赛入门经典——训练指南》,但那本书的主要目标是补充知识点,即拓展知识宽度,而我更希望在知识宽度几乎不变的情况下增加深度——我眼中的竞赛应该主要比思维和实践能力,而不是主要比见识。 索性,我继续加大篇幅,用大量的例子(包括题目和代码)来表现我想向读者传达的信息。一位试读的朋友在收到第一份书稿片段时惊呼:“题目的质量比第1版提高太多了!”这正是我这次改版的主要目的。 具体来说,这次改版有以下变化: ? 在前4章中逐步介绍一些更实用的语言技巧,直接使用竞赛题目作为例子。 ? 全新的第5章,讲解竞赛中最常用的C++语法,包括STL算法和容器。 ? 第6~7章作为基础篇,加大代码和技巧的比例,并适当增加例...

暂无课件

样章下载

网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
第1部分语言篇

第1章程序设计入门 1

1.1  算术表达式 1

1.2  变量及其输入 3

1.3  顺序结构程序设计 6

1.4  分支结构程序设计 9

1.5  注解与习题 13

1.5.1  C语言、C99、C11及其他 13

1.5.2  数据类型与输入格式 14

1.5.3  习题 15

1.5.4  小结 16

第2章循环结构程序设计 18

2.1  for循环 18

2.2  while循环和do-while循环 22

2.3  循环的代价 25

2.4  算法竞赛中的输入输出框架 27

2.5  注解与习题 34

2.5.1  习题 34

2.5.2  小结 36

第3章数组和字符串 37

3.1  数组 37

3.2  字符数组 41

3.3  竞赛题目选讲 45

3.4  注解与习题 53

3.4.1  进位制与整数表示 54

3.4.2  思考题 55

3.4.3  黑盒测试和在线评测系统 55

3.4.4  例题一览与习题 56

3.4.5  小结 59

第4章函数和递归 61

4.1  自定义函数和结构体 61

4.2  函数调用与参数传递 65

4.2.1  形参与实参 65

4.2.2  调用栈 66

4.2.3  用指针作参数 69

4.2.4  初学者易犯的错误 71

4.2.5  数组作为参数和返回值 71

4.2.6  把函数作为函数的参数 73

4.3  递归 74

4.3.1  递归定义 74

4.3.2  递归函数 75

4.3.3  C语言对递归的支...