推荐序三
ACM国际大学生程序设计竞赛(简称为ACM-ICPC或ICPC)始于1970年,成形于1977年,并于1996年进入我国大陆。由于该项赛事形式别具一格,竞赛题目既有挑战性又有趣味性,有助于培养参赛选手的抽象思维、逻辑思维、心理素质、团队合作和协同能力,所以深受参赛选手们的喜爱,ACM-ICPC赛事也从不为人所知、从组委会千方百计邀请各个兄弟院校组队参赛捧场,到如今各赛区组委会都遇到了多次扩容仍无法满足大家的参赛愿望。虽然在1996年仅有19所学校的25队参赛,但在2013年已有来自250所高校的4300多队参加了网络赛,170多所学校的840多队获得了参加现场赛的机会。从竞赛中脱颖而出的优秀选手也获得了国内外著名企业的高度认可,可以说ACM-ICPC大赛得到社会各界的广泛认可,这也是对我们这批该项赛事组织者而言最大的鼓励和回报。
刘汝佳则是从该项赛事中涌现出的佼佼者之一,他不仅在该项赛事中取得了优异的成绩,获得了2011年ACM-ICPC亚洲区上海赛区冠军和2002年夏威夷全球总决赛银奖第一,而且热心于该项赛事的著书写作和命题等工作。
《算法竞赛入门经典(第2版)》将程序设计语言和算法灵活地结合在一起,形式独特,算法部分讲解细致,内容涵盖了许多经典算法,强调了不少入门时的注意事项,并且在一定程度上回答了“参加ACM-ICPC需要掌握哪些基本的知识点、哪些经典算法、要注意哪些基本的编程技巧、ICPC优秀选手是如何分析问题和优化代码的”等一系列问题。
虽然本书不是一本专门为ACM-ICPC而写的教材,但是书中所有例题都来自ACM-ICPC相关竞赛,不仅可作为ACM-ICPC的入门参考书,同时也是一本适合具有一定数学基础但没有接触过程序设计的大学生阅读的算法参考书。
ACM国际大学生程序设计竞赛中国区指导委员会秘书长
上海大学
周维民