吴文虎教授针对世界大学生程序设计竞赛(ACM/ICPC)编写了两本《世界大学生程序设计竞赛(ACM/ICPC)高级教程》,第一册为《程序设计中常用的计算思维方式》,第二册为〈程序设计中常用的解题策略》。
ACM/ICPC是国际计算机协会(Association for Computing Machinery)组织的国际大学生程序设计竞赛(International Collegiate Programming Contest)的英文简称。这项每年一届的计算机学科竞赛始于1976年,是目前规模最大且最具影响力的全球性高校之间的赛事。
该项竞赛历届都云集了计算机界的“希望之星”,因而受到国际各知名大学和重要计算机公司的高度重视,成为世界各国大学生最具影响力的国际级计算机类的赛事,被称为大学生的信息学奥林匹克。
ACM/ICPC是大学生智力与计算机解题能力的竞赛,是大学生展示水平与才华的大舞台,是著名的高等学府计算机教育成果的直接体现,也是IT企业与世界顶尖计算机人才对话的最佳机会。
《世界大学生程序设计竞赛(ACM/ICPC)高级教程》的出版填补了我国在ACM/ICPC方面相关图书出版的空白,推动了世界大学生程序设计竞赛(ACM/ICPC)在我国的深入和发展。
书的作者是吴文虎和王建德。吴文虎是清华大学计算机系教授、博士生导师。从1998年至今,吴教授作为总教练和领队,曾15次带领中国队参加国际信息学奥林匹克竞赛,中国队累计获金牌51块,届届名列前茅。他于2002年获信息学奥林匹克国际委员会颁发的“特别贡献奖”。1997-2008年,他连续13年指导清华大学的学生进入ACM世界大学生程序设计大赛总决赛,多次获金牌、银牌,并于2009年被大赛组委会授予“杰出教练奖”。王建德是全国信息学奥林匹克著名教练、专家,全国特级教师。
教程的第一册根据世界大学生程序设计竞赛的具体赛事情况进行内容设计,从大量典型赛题的解题思路中梳理出六种常用的计算思维方式:正确认识和处理整体与部分的关系;构造性思维;目标转化思想;分类与分治思想;逆向思维;猜想与试验等,旨在引导参赛选手学习并掌握编程解题的一般思维方法和过程,提高解题能力。对准备参加世界大学生程序设计竞赛的学生能够起到指导作用。第二册图书是第一册的继续,只是换了个角度,从行为特征的角度介绍四种解题策略:数据关系上的构造策略;数据统计上的二分策略;动态规划中的优化策略;计算机几何题的应对策略。
思维方式和解题策略是相互联系的。从某种意义上讲,第一册所述的思维方式也是解题策略,而第二册所述的解题策略也处处渗透着前述的思维方式。第一册主要是从思维方式的角度谈解题方法,第二册则侧重行为特征的角度来谈解题策略。论述的角度有所不同,但目标是一致的。
两书为参加世界大学生程序设计竞赛提供了强有力的帮助和直接的指导,一经出版便受到普遍好评。