(壹)
邓明扬最后提到的“毛子”,指的就是俄罗斯队伍。俄罗斯队伍,在国际青少年信息学奥林匹克竞赛(IOI)和大学生程序设计竞赛(ICPC)全球总决赛上,表现都很抢眼。尤其是在ICPC全球总决赛上,堪称一骑绝尘。比如上周在埃及合办举行的第46届和第47届的ICPC全球总决赛,北大队获得了第46届的冠军,俄罗斯国立研究型高等经济大学获得了第47届的冠军。
这两届总共有24支队伍获得了奖牌(每届12支队伍),中国大陆占了6席,即四分之一;俄罗斯占了4席。但是中国大陆的金牌数是2枚,俄罗斯的金牌数是3枚。整体感觉两个国家差不多。但是在ICPC四十八年的历史上,俄罗斯的表现比中国更好一些。
(贰)
国际大学生程序设计竞赛(International Collegiate Programming Contest,简称ICPC)是世界上规模最大、水平最高的国际大学生程序设计竞赛之一。ICPC由美国计算机协会(Association for Computing Machinery,简称ACM)于1970年发起组织,至今已有五十余年的历史。该赛事旨在展示大学生的创新能力、团队精神以及在压力下编写程序、分析和解决问题的能力。
ICPC赛事由各大洲区域赛(Regional Contests)和全球总决赛(World Finals)两个主要阶段组成。每个赛季持续时间约9个月,来自全球六大洲、超过100个国家和地区的两千余所高校的近五万名大学生参与该项赛事。区域赛通常在上一年的9月至12月举行,而全球总决赛则安排在每年的3月至5月。
ICPC竞赛的历史可以上溯到 1970 年,当时在美国德克萨斯 A&M 大学举办了首届比赛。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977 年,在 ACM 计算机科学会议期间举办了首次总决赛,并演变成为目前的一年一届的多国参与的国际性比赛。迄今已经举办了34届。
最初几届比赛的参赛队伍主要来自美国和加拿大,后来逐渐发展成为一项世界范围内的竞赛。特别是自 1997 年 IBM 开始赞助赛事之后,赛事规模增长迅速。1997 年,总共有来自 560 所大学的 840 支队伍参加比赛。而到了 2004 年,这一数字迅速增加到 840 所大学的 4109 支队伍并以每年 10-20% 的速度在增长。
在赛事的早期,冠军多为美国和加拿大的大学获得。而进入 1990 年代后期以来, 俄罗斯和其它一些东欧国家的大学连夺数次冠军。2000年之后,中国也有一些大学获得了ICPC的冠军。赛事的竞争格局已经由最初的北美大学一枝独秀演变成目前的亚欧对抗的局面。ICPC竞赛已经成为全球最具影响力的大学生计算机竞赛,被誉为计算机软件领域的奥林匹克竞赛。不论是区域赛还是总决赛,ICPC都一直受到国际各知名大学的重视,并受到全世界各著名计算机公司的高度关注。
(叁)
ICPC(国际大学生程序设计竞赛)全球总决赛自1977年起举办,除了2020年因疫情没有举办外,到今年已经成功举办了47届。以下是历届ICPC全球总决赛冠军名单。
从统计表格中可以看出来,夺冠次数最多的国家是美国,共有18次,包含了最初13届的冠军,这与最初参加比赛的国家数量较少有关系。夺冠次数第二多的国家是俄罗斯,共有16次。夺冠次数第三多的国家是中国。
考虑到最初几届参加的国家数量很少,所以俄罗斯实质上是ICPC最强的国家。这从夺冠学校分布也可以看出来。
夺冠次数最多的高校是圣彼得堡国立信息技术、机械与光学大学,共7次夺冠。夺冠次数第二多的高校是圣彼得堡国立大学,共4次夺冠。
夺冠次数第三多的高校是上海交通大学和斯坦福大学,各3次。
夺冠两次的高校有6所:华沙大学、华盛顿大学圣路易斯分校、滑铁卢大学、加州理工学院、麻省理工学院、莫斯科国立大学。
还有18所高校获得过一次冠军,分别是北大、奥塔哥大学、贝勒大学、布拉格查理大学、俄罗斯国立研究型高等经济大学、弗莱堡大学、哈佛大学、哈维玛德大学、加州大学伯克利分校、加州大学洛杉矶分校、密苏里罗拉大学、密歇根州立大学、墨尔本大学、内部拉斯加大学、萨拉托夫国立大学、下诺夫哥罗德大学、约翰霍普金斯大学和浙大。
(肆)
俄罗斯在ICPC竞赛中表现出色,主要有以下几个原因。
首先是政府和高校的支持。俄罗斯政府和高校对算法竞赛的重视程度也很高。他们积极组织各类算法竞赛和培训活动,为学生提供广阔的实践舞台。同时,俄罗斯还通过引进和培养高水平的教练和专家,不断提升参赛队伍的整体水平。
其次是早期培养。俄罗斯对于有才华的年轻程序员的培养往往从中小学阶段就开始了。许多学生通过参加信息学奥林匹克竞赛等活动,早早地展现出在计算机科学领域的潜力和兴趣。俄罗斯青少年信息学奥林匹克竞赛(RusOI)分为五个级别:校级、市级、地区级、联邦级、国家级。通过层层选拔出来的青少年选手,到了大学就很容易做到更进一层楼。
第三是教育体系和文化。俄罗斯有着深厚的数学和科学教育传统,学生从小就接受严格的数学和逻辑训练。这种教育体系为学生日后在算法和编程领域的深入学习和竞赛打下了坚实的基础。
第四是俄罗斯的大学和中学普遍鼓励学生参与各类编程竞赛,提供了良好的竞赛环境和训练体系。这种环境促使学生在竞赛中不断提高自己的技能。
第五是人才的集中培养。俄罗斯的一些大学在计算机和数学领域有特招政策,集中培养有才华的学生,这种集中培养的策略有助于在国际竞赛中取得好成绩。
最后是成功的经验和传统。俄罗斯在ICPC等国际编程竞赛中屡获佳绩,这种成功的经验被传承下来,形成了一种积极向上的竞赛文化,激励着新一代的参赛者。
参考资料:
【1】ICPC官方网站
https://icpc.global/
【2】第46届ICPC Final分数榜
https://scoreboard.icpc.global/46/index.html
【3】第47届ICPC Final分数榜
https://scoreboard.icpc.global/47/index.html
【4】邓明扬在知乎上对第46届ICPC全球总决赛做的总结
https://www.zhihu.com/aria/question/653053550
【5】俄罗斯全国信息学奥林匹克竞赛介绍
https://ioinformatics.org/journal/INFOL017.pdf返回搜狐,查看更多