01. ACM 实验室

前 言
Q:想锻炼自己的编程能力?
Q:想与全世界的算法爱好者切磋?
Q:想在工作、考研、保研中获得优势?
Q:想不虚度大学光阴,找到可以奋斗四年的目标?
Q:想成为 Legendary Grandmaster?
A:欢迎加入郑州大学 ACM 实验室!你离精英只差一个 ACM 的距离!

1. 什么是 ACM-ICPC?¶
ACM 国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest,简称 ACM-ICPC 或 ICPC)是由国际计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过 40 多年的发展,ACM-ICPC 在全世界范围内都具有很高的知名度和认可度,并且在国内每年都吸引着来自清华、北大、浙大、上交、复旦等 200 多所高校大学生的积极参与。
教育部委托中国高等教育学会在 2016-2020 连续 4 年发布的中国高校创新人才培养暨学科竞赛评估结果中,ACM-ICPC 均被纳入全学科评估指标之一(排名 4),进一步体现该赛事对于创新人才培养的重要意义。

2. 郑州大学 ACM-ICPC 创新实验室¶
依托于郑州大学信息工程学院,ACM-ICPC 创新实验室成立于本世纪初(2005 年),从刚开始的 3、4 个人发展到目前稳定 40 人左右的规模。实验室现位于郑州大学信息工程学院三楼中 3306 房间,通过装修升级,现拥有机位 50 个,浪潮服务器一台,全新 I5+128G 固态 +16G 内存的 PC 机 40 余台(写代码、跑程序不要太 6)。


郑州大学 ACM 实验室是河南省内高校中,最早开始从事 ACM 相关竞赛的指导、培训、参赛工作的,
- 2005 年 ACM-ICPC 亚洲区域赛(西安赛区)收获了郑州大学历史上第一个 ICPC 奖项
- 2007 年开始举办郑州大学 ACM 程序设计大赛(校赛)
- 2008 年,承办第一届河南省大学生 ACM 程序设计竞赛
- 2019 年,郑州大学首次斩获 ICPC 亚洲区域赛金牌,创造了河南高校的历史记录。
- 2021 年,郑州大学首次入围 ICPC 世界总决赛,将携手国内 18 所高校共同与哈佛、MIT、普林斯顿等一流大学同台竞技,实现河南省高校总决赛“零”的突破。
- 2022-2024 年,郑州大学在 ACM-ICPC 亚洲区域赛, CCPC 中国大学生程序设计竞赛中斩获多项金、银奖项。
历经 16 年,实验室在 ACM-ICPC 亚洲区域赛、CCPC 中国大学生程序设计竞赛、中国高校天梯赛、蓝桥杯、河南省赛等国际、国家、省级各类比赛中斩获金、银、铜百余奖项。前方有一大批图片来袭:


其中,2019 年,我们的“队友倒写强连通”队伍(陈洋、黄中源、苏同)在银川赛区以学校第 4 名的好成绩获得金奖,是河南省高校历史上首枚金牌,也是郑州大学自 2006 年起参赛以来的重大突破!紧接着,我们在南昌赛区以队伍第 9、22 名斩获两项金奖,又一次刷新了河南省高校在此项赛事中同一个赛区 2 项金奖的记录,充分展现了郑大学子的精神风貌。

2021 年,我校凭借上个赛季 ICPC 亚洲区域赛的优异成绩,成功晋级第 44 届国际大学生程序设计竞赛全球总决赛(ICPC World Finals),届时将与清华、北大、上交、南大、复旦、中山等国内 18 所高校携手代表国家、代表学校与来自 MIT、哈佛、普林斯顿、剑桥等全球一流高校学子同场竞技。这是暨我校学子在 ICPC 取得河南省首个区域赛金奖后,又一次实现了河南省高校世界总决赛“零”的突破,是我校学生科技创新活动勇攀高峰的又一里程碑事件。

收获奖项的同时,玩 ACM 竞赛到底会给我们带来哪些益处呢?让我们一一道来:
- 学习:玩 ACM, C 程序设计、数据结构、算法、离散数学等等这些对于大多数同学有难度的课程直接躺过,拿高分也很容易。
- 工作:据非官方统计,在 ACM 区域赛上拿到铜牌,本科毕业 20W 年薪的工作妥妥的,银牌 25W、金牌 40W 不是不可能,但归根结底还是要自己努力付出,才会有收获。
- 保研 & 考研:保研/考研的面试、笔试、上机,对于 ACMer 来说,小儿科。学好算法,对以后的深造有极大帮助,研究生导师都很喜欢算法 NB 的学生。
实验室近几年保(读)研工作同学名单(据不完全统计)
毕业年份 | 姓名 | 毕业去向 | 毕业年份 | 姓名 | 毕业去向 |
2015 | 梁志鹏 | 京东 | 2020 | 王俊凯 | 中国科学技术大学 |
2015 | 张茂强 | Shopee | 2021 | 高子昂 | 北京航空航天大学 |
2016 | 王烯 | 英国谢菲尔德大学 | 2021 | 魏直晟 | 浙江大学 |
2016 | 毛玉昆 | 复旦大学 | 2021 | 姚禹霖 | 北京邮电大学 |
2017 | 黄毅飞 | 华东师范大学 | 2021 | 祁银皓 | UCAS |
2017 | 郭靖凯 | 美团 | 2021 | 白一晨 | 天津大学 |
2018 | 张鸿瑜 | 兰州大学 | 2021 | 艾贻彪 | 华中科技大学 |
2019 | 胡志鹏 | 百度 | 2021 | 陈洋 | 郑州外国语学校 |
2019 | 张亚杰 | UCAS | 2021 | 张兴言 | 北京航空航天大学 |
2019 | 付亚楠 | 北京航空航天大学 | 2021 | 武星皓 | 北京航空航天大学 |
2019 | 秦文杰 | 中国科学院计算技术研究所 | 2021 | 岳希航 | 浙江大学 |
2019 | 汤锦涛 | 厦门大学 | 2021 | 樊晓然 | 复旦大学 |
2019 | 王镜闲 | 清华大学 | 2021 | 高小惠 | 北京理工大学 |
2019 | 申敬飞 | 中国科学技术大学 | 2021 | 高小博 | 北京航空航天大学 |
2019 | 鲍聪 | 腾讯 | 2021 | 蔡文川 | 北京航空航天大学 |
2020 | 刘旭 | 北京航空航天大学 | 2021 | 王帅兵 | 复旦大学 |
2021 | 支麒越 | 华中科技大学 | 2023 | 吕青松 | 清华大学 |
2021 | 吕名川 | 腾讯 | 2023 | 薛青山 | 国防科技大学 |
2021 | 俞柳源 | 字节跳动 | 2023 | 范康佳 | 中山大学 |
2021 | 郑林威 | 腾讯 | 2023 | 付康 | 北京理工大学 |
2021 | 李辉 | 北京航空航天大学 | 2023 | 朱凯乐 | 天津大学 |
2021 | 杨豪飞 | 西北工业大学 | 2023 | 何骏扬 | 华中科技大学 |
2021 | 李昊 | UCAS | 2023 | 姚建业 | 中国科学院计算技术研究所 |
2021 | 孙刚来 | 腾讯 | 2023 | 丁佳坤 | 天津大学 |
2021 | 周德蔚 | 浙江大学 | 2023 | 李浩 | 乾象投资 |
2021 | 王驰鑫 | 华南理工大学 | 2023 | 张东方 | 快手 |
2022 | 张子昂 | 北京邮电大学 | 2023 | 吴程程 | 北京航空航天大学 |
2022 | 郭郑兴 | 字节跳动 | 2023 | 王博 | 北京邮电大学 |
2022 | 郭晓龙 | 上海科技大学 | 2024 | 李自攀 | 阿里巴巴 |
2022 | 刘伟泽 | 浙江大学 | 2024 | 李智宇 | 中国科学技术大学 |
2022 | 张四维 | 文远知行 | 2024 | 毕宇豪 | Universität Duisburg-Essen |
2022 | 王鹏 | 米哈游 | 2024 | 杨宇航 | 天津大学 |
2022 | 章龙 | 山东大学 | 2024 | 邱宇 | 河南焦作一中 |
2022 | 安凌翔 | 西安交通大学 | 2024 | 辛一品 | 阿里巴巴 |
2022 | 陈磊 | 天津大学 | 2024 | 赵一丁 | 复旦大学 |
2022 | 马含章 | Ludwig-Maximilian University | 2024 | 王亚琪 | 中国科学技术大学 |
2022 | 赵斌 | 字节跳动 | 2024 | 黄笑凡 | 河南省实验中学 |
2023 | 王业坤 | 北京邮电大学 | 2024 | 刘相锦 | 南开大学 |
2023 | 李彦霖 | 国防科技大学 | 2024 | 吴桐 | 中国科学技术大学 |
2023 | 石兴元 | 中南大学 | 2024 | 刘世纪 | 字节跳动 |
2023 | 李玺 | 好未来 | 2024 | 刘鹏举 | 腾讯 |
2023 | 苏同 | Universität Zürich | 2024 | 冯蓝飞 | 浙江大学 |
2023 | 马少杰 | 浙江大学 | 2024 | 付浩然 | 国防科技大学 |
2023 | 余清扬 | 浙江大学 | 2024 | 刘贵源 | 小米 |
- 交友:玩 ACM 可以结交很多来自全国其他各个高校的朋友,而且都是精英中的精英。自行脑补与清华、北大等学校同台竞技的感觉!
- 阅历:每年的区域赛都在全国各地举办,例如北京(烤鸭)、青岛(大虾)、沈阳(乱炖)、杭州(醋鱼)、西安(肉夹馍)……,在不同的城市、不同的大学比赛,可以感受不同的文化。
下面最关键的问题来了,到底如何加入 ACM 实验室呢?
3. 加入 ACM-ICPC 创新实验室的方式¶
实验室遵循公平公正的选拔原则,不论年级、专业,只要参加 ACM-ICPC 实验室线下招新赛成绩较好,有能力、激情、肯吃苦的同学就可以加入实验室。
有同学说,我能力不够怎么办。咱们说,不用着急,只要你踏实努力了,我们每年有两次选拔的机会在等你:每年 11 月份左右和 3 月份左右
机会这么多,只要你有心,肯定会有你的一片天空!具体选拔赛通知,请加入招新群(562888278),了解一下!



除了上述选拔赛和实验室训练赛外,为了积极调动大一新生的积极性,我们还会在每年 10 月份,组织一系列新生赛,敬请关注!
4. 参加 ACM 实验室,你需要准备什么?¶
大学是个需要全面提升自学能力的地方,所以相关问题除了在招新群内提问外,更多的希望大家进行如下操作:

当然,在此也推荐些基本的材料:
C 语言基础¶
C 语言零基础可以去 B 站上找视频学习,注意一定要动手多练,孰能生巧,不需要学过多的 C++ 语法知识,只需要会基本的 C 语言语法和 STL。
C 语言打好基础后,是算法数据结构相关的:挑战程序设计竞赛(第 2 版)(基础不好的,两本都可以买,一本基础,一本竞赛)、算法竞赛入门经典(第 2 版)刘汝佳著、算法竞赛入门经典:训练指南 刘汝佳,陈锋著
但是注意,这些书只是作为一种查漏补缺来学习,下面还会讲具体训练

在线评测(Online Judge,OJ)系统:¶
首先是校内平台:郑州大学 http://acm.zzu.edu.cn
接着推荐几个非常好用的在线评测平台(同时也是线上比赛):
Codeforces https://codeforces.com/
Atcoder https://atcoder.jp/
然后就是国内知名评测平台:
洛谷(适合入门训练) http://www.luogu.org/
杭州电子科技大学 http://acm.hdu.edu.cn/
具体的练习:¶
在算法竞赛中,基础的掌握是至关重要的,招新赛也会围绕一些基础算法来出题。例如贪心,动态规划,二分等基础且常见的算法。初学者容易陷入钻难题的误区,这是一种不好的学习方式,因为如果没有强大的思维能力作支撑,学了再多的算法也只是死记硬背。在这里,我推荐学完 C 语言的同学,在学完基础算法后,都先去 codeforces(以下简称 cf)等刷题网站上刷题。像 cf 这种 OJ 平台,都有类似于游戏的 Rating 分数,分数需要通过平台上的比赛排名来获取。在你学习高阶算法(例如 FFT)之前,先将自己的 cf 分数打到蓝名(1600 分)甚至更高(不过蓝名的水平对于新手来说有点高了,可以先上一个绿名或者青名)。不仅如此,有很多高手都在上面练习,同时也能体会到世界顶尖选手的算力,并且已经有很多 ACMer 都将 cf 作为自己训练的主阵地。总而言之,学习算法是一个循序渐进的过程,不要好高骛远,最后送上我最喜欢的一句话:
