§序章——团队!ACM不是一个人的战斗
§上篇——合理分工,演好自己的角色
§下篇——队友齐心,其利断金
§番外——深呼吸
§尾声——信任与成功
这个世界上大牛无处不在
大牛的形成无非三种:
天赋异禀
勤奋过人
媳妇熬成婆
大牛往往神功盖世,知道无数优化算法, coding像吃饭,切题如切菜。
§但是大牛也需要队友^_^
大牛并不等于全能,大牛也有弱点
情绪波动导致发挥失常
长时间编程容易疲劳
ACM需要三人组队
……
§一个好汉三个帮,大牛带小弟天经地义~~
§ACM是团队的战斗,如果三个人各自为战,那显然就失去了ACM团队竞赛最基本的锻炼意义了。
§虽然编程解题是主要任务,但是机器只有一台。如何分配三个人一台机以及总共15个小时的时间本身就是一个难题。
§在场上,我们究竟可以做些什么?
§ACM兵种之编程者
毫无疑问的主力兵种,AC的基础,任务是完成程序的编写工作。对算法实现过程的熟悉程度要高,coding的速度和准确性也要有很高的水准。
§ACM兵种之思考者
AC的基础的基础(@_@),主要是对一些算法层次的问题进行思考,完成一个好的算法指导纲领,并且引领程序的编写工作。对题目的分析要透彻,对算法要有深度的了解,有时需要很强的数学能力。常见于数学问题,构造型问题,网络流建模等。
§ACM兵种之读题者
顾名思义,专职读题分子。在一定意义上担任着指挥官的角色,任务是迅速搞清题意以及题目中的各种条件信息。要求比较好的英语能力。迅速读题有助于判断题目的难度,指导题目完成的顺序,减少罚时提高排名,同时也可以防止因为读错题而产生的时间上的浪费。
§ACM兵种之后勤人员
所谓“兵马未动粮草先行”,后勤服务人员的任务是保障前线火力畅顺无阻,非专职。比如机器遇到问题需要交涉的时候,找模版找资料的时候,往往让暂时比较闲的队员负责这一部分的内容,节省其他人的时间。当然,有时候端茶送水也算在内……
§ACM兵种之军乐队
很多时候,士气对发挥是有决定性的作用的。一般过题比较顺的时候会士气会上升,卡题或者过度的紧张会降低士气。研究和实践表明,适度的放松会大大地提升思维的广度和深度。所谓“男女搭配干活不累”,一般女队员比较胜任。
§ACM兵种之指挥官
主要是用来控制机时和决定策略的,保证队伍最高效率的前提。尤其是面对卡题的时候,正确的决策对于队伍整体是非常有效的。
§ACM兵种之查错人员
人谁无过,就算是大牛也会犯错。查错的效率决定了把握时间的能力,也是提高士气的有效手段。查错人员需要的是一个好的眼神,以及对程序内容的把握能力。
§以上所述的大致就是在赛场上的主要工作。
§
§这些工作是互相不干扰的,也就是说只要分身有术,同一时间是可以做多件事情的。
§
§分工合理,分清主次是赛场策略的关键。
§这一篇主要是介绍队友之间互相配合的经验。
§
§他山之石,可以攻玉。对于各支不同的队伍或尚未组队的选手,可能大家的见解都不一样。
§
§布阵实例:一牛当关万夫莫敌
§这种阵形比较少见,不过当队伍中拥有coding神牛一头的时候就可以这么比赛。一般其他两名队友完全不上机,包办读题/想题/策略/查错/讲笑话/端茶送水等等所有的工作,神牛一人把关一题一题地AC。
§好处:节约机时,机器没有切换时间时刻高效运作。
§弱点:对神牛要求高;神牛的发挥很关键;容易疲劳;产生机霸。
§成长路线
§布阵实例:三人主攻各自为战
这种阵形可能是大家最常采用的一种配合方式,三个人每人负责包办一部分的题,从读到想、从想到写完全由一个人完成。谁有需要就谁去用机器。
好处:责任明确,每个人的时间基本自己把握,充分发挥每个人各自的能力。
弱点:可能切换比较频繁,面对难题可能思考时间过少,出错的时候调和时间长。
成长路线
§布阵实例:一人指挥多路进攻
§我觉得这种可能是团队成分最高的一种配合方式了。由队长把关在全局的程度思考以及安排策略,两个想一个写,不上机的积极参与讨论。
§好处:配合能力比较强,可以应对比较麻烦的题,多人思考也比单人的思路更加宽广。
§弱点:个人能力被局限了一部分,要求队友之间互补,适应力略差。
§成长路线
§兵无常势,水无定形
§
§虽然说最好的配合就是随机应变,可是真正到了赛场上能否机变的出来呢?
§
§换句话说,如何才能在赛场上发挥出自己对于队伍最大的作用呢?
§锦囊一:千万不要读错题-_-
§对于一场ACM比赛来说,最让人崩溃的事情就是当你写了许多行程序,花费了若干时间却发现根本是在用牛头对马嘴。这就好比练葵花宝典却不看第一页的指示,等到回头醒悟的时候那可是会极大地影响心情的。
§锦囊二:做根墙头草,偶尔随风倒
§ACM一开始比赛的时候,经常都有一堆人为了个一血把自己弄得非常紧张。先出题固然是实力的象征,但有时候跟风做题更有明确的方向,简单的题目毕竟简单,差个十分钟出简单题也比错一次要好。比赛中期有时候策略上选择比较多,这时候也不妨跟风看看
§锦囊三:要勇敢尝试
§好题目有两种,一种是能唬住人的,另一种是能让人上当的。当你不知道该做什么题的时候,可以尝试一下用猜想的方法做一下那种看起来很吓人的题。尝试一下花不了多少时间,并且中彩票的机会也还是有的,就算赌错了也能绝掉侥幸的心态,从而能够正视其他的题。
§锦囊四:适当的时候开始做麻烦题
§麻烦题特指那些写起来又臭又长,但是思路框架很清晰的题。这种题ac率一般不低,但是往往没什么人做。大概在比赛2~3小时的时候开始写这种类型的题,可以拨出充分的时间思考难题,并且保证机器的利用率。
§锦囊五:双鸟在林不如一鸟在手
§很多时候队伍会面临有两个以上的题可做却不太够时间的情况。这时候宁愿果断放掉一个,合二人之力想一个题,也不要这边搞一下那边调一下,纯属浪费时间。事实上,如果能够成功过掉一个题,那另一个题过掉的概率也不会低;两个一起搞一起失败的概率却更高。
§比赛结果=实力+发挥+运气
§实力是累积出来的,运气是不可控的,但是发挥却是自己能够把握的。
§一场顺风顺水的比赛往往是很难得的。在面临困难的时候也能尽可能地发挥出自己的实力就是一件挺不容易的事情。
§卡题的时候怎么办?
§首先,和队友讨论一下,看看有什么地方遗漏或者疏忽,并且确保题目的意思没有错误,解法上没有问题。
§如果在这里没有发现大问题,那么修改还是值得的。
§接下去就要下一个决心,需要怎样修改这个题。
§修改的方法一般有两种,重写和打补丁。
§
§一般对于比较简单的题目,强烈推荐重写,省时省事并且不容易出错。
§
§打补丁的话仅对于原本思考不周密导致的错误才适用。一般打补丁会花比较长的时间而且很容易出错。
§如果发现做题的过程中出了比较大的漏洞,那只好选择重写了。这是对应应该能做出来的题的选择。
§在做大修改之前,好好整理一下思路,到处走走放松一下或者吃点东西转移注意力都是可取得。
§另一种就是发现现行算法问题过多,补丁都打不完,这种时候果断放弃会增加更多可用的时间。
§
§参加ACM的目的不同,成功的定义也不太一样。