孩子在九年级的时候,校车是凌晨6:15分到家门口,所以上学非常紧张。也是为什么每天晚上孩子都在11点之前就雷打不动的睡觉去了。
一天,凌晨3点多钟的时候,我发现书法的灯还亮着,进去一看,是孩子。我疑问,怎么还不睡觉呢?孩子说,没打扰,正在做竞赛题。原来是 Google Code Jam.
我写了孩子的stats后,很多朋友指出,EC太多,Code Jam和ACSL不要列在上面,因为水平不够,只要USACO就够了。
我来谈几点感想。首先我个人觉得USACO的题目水平实在是难以恭维,其白金级Platinum的3道题,往往是Benq一人出的,如果看题,基本上都是按照某个算法拼凑出来的题目,有时有2,3人一起出题,这些出题人,也都是往届的USACO成绩比较好的人。也就是说,USACO的题目,基本上就是往届优胜者的高中生 或者刚刚上大学的大一、大二的学生出的题目。
而Code Jam是Google专门研究算法的职业算法专家出的题目,而且云集了全世界最顶级的高手。Benq在USACO是出题人和总裁判,而他在Code Jam只是一个参赛的选手,的近三年的Code Jam成绩,也只是在 第6至第10之间。从这个角度看,Code Jam的含金量远远超过 USACO,而不是相反。
再说 ACSL,这是American Computer Science League举办的比赛,它分预赛和决赛,其编程没有USACO金级难,但是ACSL涵盖的范围非常广,几乎是各个方面,最重要的是速度,下面给两个预赛的题目 (决赛题没有,但决赛的题目比预赛难很多!),一共20道题,一个小时交,不是选择题,是像AIME那样的简短回答题,往往就是回答一个数字,平均每道题只有3分钟,看看各位大牛们 能否3分钟解答。如果解答了,说明可以进决赛,决赛的题目更难 (我做过 Tibuko出的两道题,所以也出2道中学题,算是回报一下,让感兴趣的练练手,不为过吧)
题1:
题2: