戴文渊:关于ACM竞赛的13个经典问题

dwy

作者:戴文渊,ACM竞赛世界冠军,现第四范式创始人和CEO。本文来源于作者早年的博客。

整理了13个以前遇到的问题,如果想起什么新的问题的话,再慢慢更新。
(注: 这其中有很多问题和回答都是从别人那里记下来,或者根本就是别人整理的)

1) 就快要比赛了,我们队还存在很多问题,怎么办?

正视你们的优势和劣势,承认它们的存在。借用yini的话,比赛就是一个“do more with less”的过程。你要清楚自己的more和less。无论自己是more还是less,我们就是要去do more。

2) 比赛前应该想什么?

有人说,比赛前应该完全不想比赛的事情,放松自己的心情。我觉得这并不是很妥当。
在我看来,比赛前就应该去想比赛本身,把全部精力放在比赛上。可是,这难道不会影响心态吗?我认为不会。所有影响比赛心态的事都不属于比赛本身,例如排名、胜负,都是比赛以外的事。

3) 比赛中,领先了怎么办?落后了怎么办?和对手咬得很紧怎么办?出现问题怎么办?

比赛中有很多种状态,领先、落后、平分秋色、稳定、混乱……但是,归根结底,这都是一些状态。对于自己所处的状态,我们要以局外人的眼光来看待,这样才能作出理性的判断。
作为局内人,我们需要知道,已经发生的事不可改变,我们可以做的就是在剩下的时间中do more。
注意,do more不等于“拼命”,还是要理性地去分析自己究竟还能做多好。

4) 自己或者队友实力太弱,怎么办?

很多人都会钦佩实力强的人,鄙视实力弱的人。但是,最起码在一支队里,这样的事情不应该发生。我们要清楚每个队员的强弱,用纯理性的眼光去看待这些问题。你可以为一个队员的不足而着急,但是决不可以为此而埋怨他/她(或许完全做到这一点是不可能的)。
实际上,无论是谁,放在队里一定是有用的。再不济,读题的事情总可以做,还可以模拟sample、出一些测试数据……不要认为这些事情是低级的。它们和想算法、敲题一样,都是对队里的贡献。你可以想想,有谁可以跳过读题,直接去想算法、敲程序的?

5) 如何面对自己的队友?

如果可以把一支队看成一个整体的话,那么为什么不把它比作一个人呢?这样一来,每个队员就相当于身体的一部分。似乎没有哪个人的左右手是会分彼此的。如果这样去想(注意,是要这样去想,而不是仅仅懂得这个道理),我觉得你已经不需要再讨论这个问题了。

6) 对手太强了,怎么办?

如果你完全不是他们的对手,那为什么又要称他们为“对手”呢?
前面也提到了,比赛就是一个“do more with less”的过程。即便你们是全场最差的队,即便你们根本没有实力去争取哪怕是一个倒数第二的名次,你们同样可以do more。
可能你99%会输掉这场比赛,但是请你正视这个概率,勇敢地去面对可能到来的失败。

7) 以我们的实力,根本不可能成为强队,怎么办?

强与弱只是相对的。
校内的强队,到了分区赛可能会变成弱队。分区赛的强队,到了决赛可能会变成弱队。
题目简单,会使弱队看上去变强。而题目如果很难,强队也会变弱。
不管怎么样,我们可以撇开成绩、对手、题目、自身实力等所有外界因素,从本质上去看一支队。这个时候,你会发现,实际上最强的队不一定就是那些冠军队伍。而你,可以努力去让自己的队伍成为最强的队。

8) 题目太难怎么办?

我不是很清楚为什么题目太难。其实,换个角度来看,这个世界上并不存在难题。只有“题”和“非题”。什么叫“题”?就是你用有限的时间(对于比赛来说是5个小时)可以做出的题。什么叫“非题”?就是不可能做出来的题。
至于题目会有难易,实际上是因为我们给题目加上了对自己的“要求”。试想,一道简单题,如果要求1分钟内完成,是不是会变成难题?一道难题,如果给你一个月的时间去做,是不是就简单了?所以,本质上来说,题目是没有难易的。
说到这里,也许你已经明白了,当你抱怨题目太难时,一定是计划作错了。

9) 我们队还有很多事要做,该如何处理?

事情是永远做不完的。对于一支队来说,它的生命往往不会太长,多数不超过一年。不要指望能做好十几件事。我可以毫不夸张地说,如果一支队能够真真正正地做好一件事,这支队一定很强。
所以,如果你可以判断哪件事最重要,请先集中精力做好这件事。如果不能判断,就随便做一件。切记,不要总想着几件事情同时做好,这样的结果往往是什么事都没做好。有的时候,我会觉得,做事和谈恋爱没什么区别,不能花心,必须把精力集中在一点才能做好。

10) 我们的进步速度总是不如预期,怎么办?

没有关系。每个人的预期总会或多或少的带点理想的色彩,所以实际的效果一般来说总是不如预期的。有时,甚至会出现只有预期的1/3到1/2的情况。但是,只要你坚持不懈地去做,不动摇自己的信念,最后的成绩一定不会差。记住,你遇到过的困难,你的对手也会遇到的。

11) 虽然什么都想清楚了,可我还是有很多顾虑,怎么办?

我不知道你是如何看待宗教和迷信的。我觉得宗教和迷信的作用就是用来解决人力所不能及的问题。人不可能参透一切,胜负、名次也不可能完全看破。每个人都想拿好名次,只不过想多想少而已。而这些东西,并不完全受你支配。很大一部分是你力所不能及的。
我不是一个喜欢带挂件的人。脖子上挂样东西,会让我感到不自在。但是,每次参加比赛的时候,我总会让自己带一个挂件,多数情况下是一个十字架(在梵蒂冈拿的,我觉得比较神圣^_^),有时是我心爱的球队的队徽(自己做的,非常亲切)。不是说我迷信,而是因为这些东西在我心目中比较圣洁,我愿意将自己的愿望交给它们去保管。
我平时都是穿皮鞋的。但是以前出去比赛,我都会带上一双球鞋,因为我穿皮鞋没赢过(不过这个规律在2004年日本赛区被打破了)。
我有一条裤子,虽然我很不喜欢它,但是每次比赛我必穿这条裤子,因为穿这条裤子时我保持不败。
在我看来,迷信是对人的一种心理暗示,它可以让我们忘却最后的顾虑,集中精力做好应该做的事。

12) 比赛前有同学来找我玩,该如何处理?

相信参加过北京赛区的选手对这个问题一定不陌生🙂
我的观点是,就看比赛对你来说有多重要了。如果你只是来玩玩的,那么顺便和同学叙叙旧也没什么大不了的。如果比赛对你很重要,那么我可以告诉你,根据规则一个人一辈子最多只能参加7次ACM-ICPC比赛(5+2),而和同学叙旧的机会是很多的。花点钱买张飞机票,几个小时后就能见到同学,但是比赛的机会却不是用钱可以买的。不要说你想兼顾好两件事,请先把其中的一件事做好。或许你可以放弃比赛,并和同学痛痛快快地玩一场。

13) 比赛前队友之间为了一些和比赛无关的小事情发生争吵怎么办?

转化内部矛盾为外部矛盾。最后关头,比赛只是三个人的事情,整支队的观点只要保持一致,即便是错误的也无关大局。所有的问题都可以在比赛之后再解决。

转载请注明:《戴文渊:关于ACM竞赛的13个经典问题 | 我爱计算机

Leave a Reply

Your email address will not be published. Required fields are marked *