【游记】ACSL2019-2020游记

· · 个人记录

关于ACSL

那么,这个比赛—— ACSL 究竟是个啥子嘞?

就是简单介绍一下不是硬广 真的

ACSL 是什么比赛?

ACSL 的全称是美国计算机科学联赛。它在美国已经举办了 30 多年,是历史悠久的比赛。近几年,ACSL 比赛借由 ASDAN 承办方进入中国,并有不少学习计算机科学的学生参加。

ACSL 都面向哪些年级的学生?

针对不同年级的考生,ACSL 设置了不同的组别。小学组针对小学生。初级组(Junior) 针对初中生。 中级组(Intermediate) 针对水平较高的初中生及高中生。高级组(Senior)针对高中生。

ACSL 采用什么赛制?

ACSL 采用团队赛与个人赛相结合的赛制。每场比赛有 30 分钟的笔试(采用个人赛制),满分 5 分。此外还有 90 分钟团队赛,团队合作解决一道 5 分的编程题。每个团队由 3 人组成,需在赛前建好团队。最终会用个人笔试分 + 其所属团队编程分给个人评奖,并用团队中三人笔试平均分 + 团队编程分给团队评奖。

ACSL 的赛程是什么?

ACSL 的赛程分为三部分:

总而言之感觉拖得挺长的,但其实也是给了数次恶补知识的机会。

ACSL 和国内 OI 竞赛怎么比较?

感觉 ACSL 和国内 OI 竞赛有一定的相似之处(主要是编程题)。但其考察的内容(计算机科学知识,编程能力)与国内 OI 竞赛也有一定差别,可以说是互补吧。

△ACSL 的官方 Logo。有内味了( | 图源:ACSL 官方试卷

ACSL游记

Dec 20th 2019

预赛前一天。

看了看往年试题,感觉没太大难度,就没有怎么准备。中国举办方官网(https://seedasdan.org/acsl/)上写的几个考试地点都在市内。但是考前几天却通知变更到了王府学校(在昌平,北七家那块)。另外,我注意到 2018 年以前的试题都没有中文版,因此推测这个主办机构可能也没办几年这个比赛。从这件事和以后发生的一些事看,这个机构对这个比赛的组织还是欠成熟。希望以后能多多改进吧。

Dec 21st 2019

拜这个比赛所赐,本人首次打卡 5 号线北段终点站 & BRT。

学校装修的是挺不错,但是感觉在那么一片环境中很突兀(考试在学校的图书馆,不太好找,而且门卫不太友好 = =

进考场之前需要把自己的与考试无关的物品(包含包)全都放在图书馆门口的桌子上。监考也不是很友好(

考试的桌子是那种阅读用的桌子。两边各三个座位,且座位之间有很高的格挡。一组两个人坐在一边(中间要空一位),另一个人坐在另一边。(我很不幸,被神GMQ和神GCJ排挤到了另一边 = =)

值得一提的是编程题。

编程题是道很简单的字符串处理题,因为不确定在哪个人的电脑上做,我们三个人就分别做了一遍(

这里插一句嘴,后来因为疫情,团队合作编程被取消了,因此我其实很好奇“团队合作编程”是什么样的 Doge。另外,这种“团队合作”并不能模拟通俗意义上的“团队合作开发”。首先,开发需要的工具(例如开源版本控制工具,比如说 Github),在 ACSL 都不能使用。

△Git 与 Github | 图源:medium.com

第二,真正的多人合作开发模式是一人开发工程的一部分,然后将代码合并起来。但是,这个比赛缺乏共享代码的工具,因此只能三个人在同一台电脑上编程。这其实和一个人开发没什么两样。

最后提交的方式是将你的程序的运行结果截图,和代码一起交上去。(ACSL 允许用任何语言编写,因此 OI 比赛的评测机制不适合)

编完之后还剩下将近一个小时二十分钟,GCJ 玩拍照程序结果被监考抓了(由此可见高科技也有高科技的下场 Doge)。GMQ 编了一个贪吃蛇游戏,再次吊锤我qwq

Jan ??th 2020

成绩出来了,应该是没多大问题(%%%GMQ Orz)

Feb ??th 2020

啊?第二轮取消了?山雨欲来…

Mar 7th 2020

第二轮前一天。以为题目还和第一轮那个难度,结果根本没怎么复习。现在都很诧异当时哪来的自信。

第二轮改为线上赛了。昨天试了机,600 个人挤在一个 Zoom 会议里,根本听不清监考在说什么,Zoom 还特别卡,场面一度十分尴尬…希望明天能好一些…

△场面一度十分尴尬 | 图源:9553.com

Mar 8th 2020

第二轮。

事实证明这是我唯一一次过度自信的比赛。

笔试前面还算是顺畅,但是最后一题突然就考了一个 Lisp 中我不知道的函数,结果瞬间懵逼。

然后是编程。又是字符串处理,我就很好奇,ACSL 为啥这么喜欢字符串(

不幸的是,不知道为什么没有调出来,结果爆炸了,5 个测试数据才对一个。

这次比赛给人的经验是很多的。痛定思痛,主要有两点经验吧。

1. 不要轻视任何比赛。这次比赛失利有一部分原因就是因为事先准备不充足。

2. 别受外部因素干扰。我是距离考试结束一个小时就放弃了,其实那道题目,如果多看一眼,可能是能做出来的。因为以为 GMQ,GCJ 都做完了,结果我急于交卷,就导致没有做出来这道题。

由此可见,GMQ,GCJ 还是很巨的(

另外我也了解到了调试不出来的真正原因。

其实这次比赛的中文翻译是!!错!!的!!

敲黑板!

下面我们来看看这个翻的什么玩意儿的中文翻译和英文原版。

△英文原版题目 | 图源:ASDAN(ACSL中国主办方)提供的试题截图

我们把这其中“Proceeding…”到“…like locations”翻译如下。(本人英语也不好,下面只是个大意,如有问题,敬请指出并吊锤我)

自左向右扫描整个字符串,如果两个串在位置 i 上的字符不同,那么删掉任意一串中某位置的字符,使得在位置 i 上的两个字符相同。然后再删去所有相同位置上的相同字符。

△主办方提供的中文翻译(这翻的什么玩意啊) | 图源:ASDAN(ACSL中国主办方)提供的试题截图

是骡子是马,拉出来溜溜。咱们比对一下这两个翻译,差别不言自明。

首先英文原版,说的很明白。例如ABCDEFG和BCDEAAFG,按照英文翻译,自然会发现第一个位置上的 A 和 B 不同,那么就自然会删去 A,别无他选。

再来看中文版。中文版只说删去之后需要存在“相同位置的字符相同”就行了,至于这个位置在哪,只字未提。这样一来看的人就很迷惑了。还是上面那两个串,我删第一个串第一个字符 A 还是第二个串第六个字符 A 呢?

我在考场上由于着急,只看了中文版,就被坑害了。由于接下来的示例中也恰好是每一步只有一种删数选择,就更没有说清楚这个事了。于是我的程序自然是错的。

△看的人也是很迷惑 | 图源:shangc.net

当然这也和我没有去看英文原版有关系,但是,我作为中国人,我的母语是中文,在中国考试,提供了中文试题,我有义务阅读一遍英文试题吗?我有义务替你检查翻译吗??总而言之,翻译的问题造成的影响不能忽略。

事后我曾经电话中国赛区主办方,说明了翻译问题。希望能引起重视。但事实证明,主办方客服完全不懂这个比赛及其考察的内容。我说明了翻译造成的影响,然鹅对方一再试图和稀泥,并口口声声声称他们的翻译人员“很专业”。Em,专业到翻的都媲美机器了(

△“专业”这个词我就不深究了,毕竟也是符合某些引申义的( | 图源:4hw.com.cn

Mar 24th 2020

第三轮前一天。

痛定思痛,这次我事先就了解(复习)了相关内容。值得一提的是,主办方虽然给了一个“大纲”,里面也有部分内容的讲解,但那个讲解的中文翻译也是真的不行。看着非常像机翻,但有些地方又像是人翻译的,那就只能说是这翻的人太不用心。

Mar 25th 2020

第三轮。

这次除了考试系统改了一下,没有更多的变化。Zoom 会议秩序依然极其混乱,而且监考甚至不准问问题,哪有比赛是这样的。

不像话。

更加奇异的是,这个系统为了防止你作弊,它不让你切换到其它页面。切换超五次就会说你作弊,不让你考了。我就想问问,在它这个考试页怎么编译程序?

这一次笔试就没有遇到问题。可能是复习比较充分吧。

编程题考的是一个叫 Veitch Diagram 的东西,和布尔代数有关。GMQ 一个小时就做完了,真·逻辑带师。

Apr ?th 2020

诶?第四轮还早呢,咕着。

Apr 18th 2020

诶?第四轮还早呢,咕……啊?明天第四轮?

啊这!

完了完了还没复习。

今夜无眠。

Apr 19th 2020

今天上考场还是有点慌的。。

Zoom 秩序稍有好转,又换了个系统,越搞越复杂。

好在笔试题还没太整人,应该感觉没大问题。编程题耗费了两个多小时的时间。YLX 比我早了一个多小时。

肿么你们都这么强啊。

Jun 20th 2020

说实在的其实我考后都没怎么关注这个比赛了。

主要是太忙(

今天突然就听说出成绩了。

第一轮第三轮都没挂分,第四轮也是满分,第二轮就比较惨了。。果然笔试错了一道,编程也只得了 1 分。。

不过也许是其它三轮分比较高吧,我还是获得了个人高分奖(并列 rk1),然后我们团队(主要是靠神 GMQ)得了团队金奖。

其实很弱的…你看,神 GMQ,神 YLX,神 WXB 都吊打我的(YLX 都去高级组了..)

△别看了,丢人 | 图源:本文作者 oistream