美国计算机协会(Association for Computing Machinery,ACM)主办的国际大学生程序设计竞赛(International Collegiate Programming Contest,ICPC),是国际上公认的水平最高、规模最大、影响最深的计算机专业竞赛,目前全球有110多个国家约3000所大学的近50000名大学生参与,加上其他的业余爱好者,参与人数达20万。该项竞赛自从1977年第一次举办世界总决赛以来,截至2020年1月,已经连续举办了43届。
本书是针对ACM—ICPC编写的进阶训练指南。以C++进行解题,读者对象是已经具备一定的C或者C++基础的编程爱好者,或者是准备参加程序竞赛正在进行训练的高中生,或者是期望通过学习算法和练习以获得进一步提高的大学生。代码采用GCC 5.3.0进行编译,使用C++11语言标准(需要启用编译符号:-std=c++11)。例题和练习以University of Valladolid Online Judge(UVa OJ)题库中题号100-1099的题目、Halim的《Competitive Programming》所介绍的习题以及作者在写作过程中解决的题目为基础,涵盖了绝大部分的基本算法。
本书适用于参加ACM—ICPC的本科生和研究生,对参加国际信息学奥林匹克竞赛(International Olympiad in Informatics,IOI)的中学生也很有指导价值。此外,作为程序设计、数据结构、算法等计算机专业相关课程的拓展与提升,本书也是较好的辅助读物。
下载地址:
GitHub:https://github.com/metaphysis/Code/blob/master/Programming%20Challenges%20V2021.11.07.pdf
百度网盘:https://pan.baidu.com/s/1vFruCipR6wq1ZxwZIab8mw 提取码: 64sw
欢迎大家下载、使用、传播并提出意见和建议!如对本书有任何建议和意见,请发送至我的邮箱,感谢!
以下是书稿的目录。