ACM (Association for Computing Machinery,美国计算机协会) 是世界上最大的计算机领域专业性学术组织,汇集了国际计算机领域教育家、研究人员、工业界人士及学生。兴趣小组每年亦会在全世界举办世界性讲座及会谈,以供各会员分享他们的研究成果。ACM以强大的组织架构,极高的技术规范,以及对技术创新的认同,作为其重要发展准则。

关于ACM国际大学生程序设计竞赛

ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest,ACM-ICPC)是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近40年的发展,ACM国际大学生程序设计竞赛已经发展成为全球最具影响力的大学生程序设计竞赛,是世界各地计算机程序设计者大显身手的舞台,也是世界一流大学展现教育成果的最佳窗口。赛事目前由IBM公司赞助。

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

竞赛规则

参赛形式

1-3名在校大学生组成团队代表学校参加比赛。

竞赛内容

每队使用1台电脑需要在5个小时内使用C、C++、Pascal或Java中的一种编写程序解决7到13个问题。程序完成之后提交裁判运行,运行的结果会判定为正确或错误两种并及时通知参赛队。最后的获胜者为正确解答题目最多且总用时最少的队伍。

赛事构成

ACM赛事由各大洲区域预赛和全球总决赛两个阶段组成。全球总决赛第一名将获得奖杯一座。另外,成绩靠前的参赛队伍也将获得金、银和铜牌。而解题数在中等以下的队伍会得到确认但不会进行排名。

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

为什么参加ACM竞赛?

对学生锻炼价值大。ACM涉及到的知识有计算几何,数论、组合数学、图论、动态规划等,几乎包括了计算机专业所有理论知识。

比赛含金量高。ACM每年举行的亚洲预选赛共有十几个赛区,国内一般有4-5个赛区,决出不到20支队伍参加世界总决赛,并且产生金奖、银奖、铜奖和优胜奖若干。

国际影响力大,。ACM获奖证书在国际国内一流IT企业和国内、国外著名高校都得到了承认,他们都非常欢迎ACM获奖队员加盟或报考硕士、博士。

比赛公平、公正。ACM是现场做题,当场判定比赛结果,教练不能参与。

导读:热播剧《亲爱的,热爱的》终于迎来了大结局!除了“霸道总裁+软萌小可爱”的“高甜”偶像剧设定之外,这部剧的不同之处在于,女主角提到她曾参加ACM国际编程大赛,男主要参加CTF,在不断成长的青春中实现世界冠军的梦想。所以,我们感兴趣的不是“高甜”,而是想说说这个ACM的编程大赛。

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

▲《亲爱的,热爱的》官方剧照

《亲爱的,热爱的》如剧名所说,男女主角最终都成功收获了亲爱的人和热爱的事业,简直完美。

现实中的两位主演也收获满满,有网友统计,李现微博粉丝数从7月9日开播时的427万暴涨至今天(截至8月1日10点)的1591万,增长率272%。杨紫的微博粉丝数已经接近5000万,相关话题频繁霸榜热搜。

剧中提到的ACM国际编程大赛,按某百科网站的说法是这样的:

ACM国际大学生程序设计竞赛(也被称为ACM国际编程大赛),英文全称:ACM International Collegiate Programming Contest(简称ACM-ICPC或ICPC),是由ACM(Association for Computing Machinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。

上海交通大学和浙江大学曾在ACM-ICPC的全球总决赛中夺冠。不过在2011年浙江大学夺冠后,最近8年的冠军全部被俄罗斯的大学垄断。

世界冠军是什么水平?不太敢想象,在某问答网站上看到这样一个问题:

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

那么数据叔就接着说说,除了《算法导论》之外,你还需要把哪些书“翻烂”……

01 《算法导论》(原书第3版)

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:托马斯·科尔曼、查尔斯·雷瑟尔森 等

MIT四大名师联手铸就,影响全球千万程序员的“算法圣经”!国内外千余所高校采用!

《算法导论》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。

02 《深入理解计算机系统》(原书第3版)

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:兰德尔 E.布莱恩特、大卫 R. 奥哈拉伦

本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为,以及造成效率低下的原因。

03 《离散数学及其应用》(原书第7版)

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:Kenneth H.Rosen

本书是讲解离散数学理论和方法的经典教材,可以称之为离散数学百科,不但介绍了离散数学的理论和方法,还有丰富的历史资料、大量的练习题和全面学习的网站资源。

同时,将离散数学理论与应用结合得非常好,给出了离散数学理论在计算机科学、数据网络、心理学、化学、工程学、语言学、生物学、商业和因特网等诸多领域的应用实例,展示了离散数学在解决现实中问题时的使用价值。为学生进行后续的专业学习奠定了坚实的数学基础。

04 《伟大的计算原理》(原书第7版)

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:彼得 J. 丹宁 克雷格 H. 马特尔

计算通常被看作是一个按照摩尔定律高速发展的技术领域。如果我们稍不留意,就有可能错过一个划时代的技术突破或者一个翻天覆地的理论发展。该书从一个不同的视角,把计算看作一门遵从一些基本原理的科学,而这些基本原理可以涵盖其中所有的技术。

计算机科学是一门关于信息处理的科学,我们需要一种新的“语言”来描述这门科学。在本书中,Denning和Martell给出了一个重要原理框架作为这种语言。本书涵盖了计算的方方面面——包括算法、体系结构和设计。

05 《数据结构与算法分析 C语言描述》(原书第2版)典藏版

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:马克·艾伦·维斯

本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。

本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。

06 《Java编程思想》(第4版)

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:Bruce Eckel

Java领域极具影响力和价值的经典著作,《Software Development》杂志Jolt大奖得主。畅销十余年,经典不衰。程序员案头必备宝典。

本书赢得了全球程序员的广泛赞誉,即使是非常晦涩的概念,在Bruce Eckel具有亲和力的文字和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。

07 《C程序设计语言》(第2版·新版)典藏版

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:布莱恩·克尼汉 丹尼斯·里奇

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。本书是介绍C语言的经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。

人们熟知的“hello, world”程序就是由本书首次引入的。通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。对于计算机从业人员来说,本书是一本必读的程序设计语言方面的参考书。

08 《C++程序设计语言(第1~3部分)》(原书第4版)

ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻ACM是什么意思(一文搞懂ACM竞赛含金量)-风君娱乐新闻

作者:本贾尼·斯特劳斯特鲁普

C++语言之父的经典名著最新版本,全面掌握标准C++11及其编程技术的权威指南!

本书是在C++语言和程序设计领域具有深远影响、畅销不衰的经典著作,由C++语言的设计者和最初的实现者Bjarne Stroustrup编写,对C++语言进行了最全面、最权威的论述,覆盖标准C++以及由C++所支持的关键编程技术和设计技术。