前言
算法是计算机科学的核心,也是构建数字世界的基石。在众多计算机相关赛事中,算法竞赛以其高含金量和挑战性著称,例如中学生的NOI信息学竞赛、大学生的ICPC/CCPC赛事以及蓝桥杯大赛、天梯赛等。特别是对于大学生来说,拥有算法竞赛的经历和奖项不仅能够显著提升个人简历的质量,还能为未来的职业发展奠定坚实的基础。
进入大学之前,我没有任何编程经验。经过近两年的努力,我有幸在算法竞赛中取得了不错的成绩,并在退役后帮助许多同学一起学习并获奖。在这个过程中,我积累了大量关于算法和数据结构的学习心得。然而,随着时间流逝,这些宝贵的知识可能会逐渐淡忘,这让我感到非常遗憾。因此,萌生了撰写一本书的想法,以记录下这段宝贵的经历与收获。
正当此时,清华大学出版社编辑王金柱先生向我发出了邀请,我们很快达成了共识,决定将这个想法变为现实—《算法竞赛入门笔记》由此诞生。写作期间,我还担任了蓝桥云课C/C++组官方讲师一职,通过线上平台向成千上万的学生传授我的经验和技巧。他们的学习热情以及对本书的期待给了我极大的动力,也坚定了我完成这本书的决心。此外,还有许多读者朋友不断催促本书早日面世,在此向大家表示衷心感谢!
《算法竞赛入门笔记》不仅仅是一本关于算法或编程语言的专业教材,它更注重于竞赛中的实用知识点与竞赛题目的结合。面对众多的竞赛知识点,我将其中的高频考点和重要内容进行了归纳整理,分成了基础算法、STL容器、搜索、动态规划、图论、数论、博弈论等多个方面的内容。其中有丰富的代码模板、算法图解、典型例题解析等,旨在帮助初学者快速掌握关键概念并应用于算法竞赛实践中去。
本书特别适合那些刚开始接触算法竞赛的学生,希望通过系统化指导克服学习障碍,建立自信,最终能够在激烈的竞争中脱颖而出。同时,我也分享了自己在训练和参赛过程中积累的经验教训,希望能为广大读者提供有价值的参考信息。
学习算法竞赛的道路并非一帆风顺,但请相信,从零基础开始并不意味着没有机会站在领奖台上。本书将陪伴你,一步一步走过这段充满挑战与收获的学习旅程。
最后,我要特别感谢尹志扬先生与我共同编写此书;感谢曾经并肩作战过的ACM队伍“再睡五分钟”;感谢武汉理工大学ACM协会的所有教练员及成员们的支持;还要对所有给予宝贵意见的同学、读者以及粉丝朋友们说一声谢谢!
愿《算法竞赛入门笔记》成为你踏上算法竞赛征途的第一步,成为你在这条道路上最可靠的伙伴之一,助你披荆斩棘,勇攀高峰。让我们携手开启这场智慧与勇气并存的旅程吧!
谢子扬
2024.10.25