译者序

程序设计竞赛因其涉及的知识面广,比赛形式激烈有趣,吸引了越来越多的学生参与其中。参赛者不但可以从中锻炼算法设计能力,还能够提高代码编写能力。其中的佼佼者也受到了越来越多国际知名公司的重视和欢迎。 本书的几位作者是世界公认的顶尖选手,在竞赛和学术领域都取得了令人瞩目的成就。他们结合自己的专业知识和比赛经验,将自己的心得和技巧集结成书。

全书将不同的算法和例题按专题编排成小节,再将不同的小节由易到难分成四章,这样即便是初出茅庐的新手也不会有太大的阅读障碍。书中涵盖了在程序设计竞赛中会用到的大多数算法和技巧,并在附录中补充了书中未介绍但也比较有用的算法。在题材的安排上,作者取舍得当,主次分明,循序渐进,不以华而不实的奇技淫巧误导读者,又具有一定深度,相信即便是经验丰富的老将同样能从书中有所斩获。本书在结合例题进行讲解时,不是简单地堆砌问题和代码,而是注重引导读者更好地理解和运用算法来分析解决问题。对于正在学习数据结构与算法的读者而言,把它作为一本练习和拓展的参考书也是很好的选择。

本书在日本广受好评,还先后在台湾地区和韩国出版。近年来程序设计竞赛在亚洲发展很快,在中国大陆也出版了不少相关书籍,但鲜见高质量的佳作。所以,在读到此书时,我们非常惊喜,迫切希望中国大陆也能引进这样的好书。2012年初,我们通过作者的推特了解到了本书第二版的出版,一些前辈们踊跃翻译计算机专业书籍的经历也鼓舞了我们,让我们萌生了亲自翻译此书的念头并联系了图灵教育。非常幸运的是,图灵教育也正考虑引进此书,于是有了今天呈现在各位读者面前的简体中文版。

在翻译上,我们力求做到既尊重国内选手的习惯,又符合计算机专业的表述。在修正原书中的一些笔误的同时,加入了一些译者注,以方便国内读者理解。但由于译者水平有限,不足之处在所难免,还望读者多多包涵,并不吝提出意见和建议。

在翻译过程中,秋叶拓哉、岩田阳一和北川宜稔三位作者耐心地对我们的一些疑问和笔误给予了一一解答和确认。浙江大学的陈越、王灿和翁恺三位老师不但将我们领进了“快乐”竞赛的大门,还拨冗审阅了译稿并提出了宝贵的意见。网上不少同好也对本书的出版给予了关切和支持。在此谨对他们表示感谢。

巫泽俊 庄俊元 李津羽

2013年5月6日于浙江大学

目录