發(fā)信人:
dwyak(Arthur), 信區(qū): ACMICPC
標(biāo) 題: 五、窮則思變
發(fā)信站: 飲水思源 (2007年11月18日14:20:47 星期天), 站內(nèi)信件
http://tttttc.spaces.live.com/blog/cns!75F098439AE33731!220.entry短暫的欣喜過后我們要面對的是將要到來的總決賽。那一段時(shí)間我還要為我自己在系里
招惹下的一段不光彩的事情接受著深刻的教育。但愿這也是我這輩子犯下的最后一個(gè)重
大過錯(cuò)。而那一段真誠懺悔的日子讓我明白了對待錯(cuò)誤的正確態(tài)度:
坦然接受批評,認(rèn)
真尋找自身錯(cuò)誤,不背包袱,不帶心理陰影,正視錯(cuò)誤的自己。然后是拉下的作業(yè)、課
程、期末考試,本科生活永遠(yuǎn)都不能回避的一些東西。而其間我們隔三差五的進(jìn)行訓(xùn)練
,由于前期的訓(xùn)練都是我和timeexceed大老遠(yuǎn)的跑去本部,于是這一段時(shí)間則是jellyfi
sh大老遠(yuǎn)的跑來閔行。老隊(duì)員表現(xiàn)出來的風(fēng)格多半都在年輕人沒有注意到的細(xì)微之處。
沒有所謂的教練和裁判,也沒上網(wǎng)的條件,我們只是自己抽一些題目來做,然后也許就
是互相評測一下。
寒假的訓(xùn)練則是一段難忘的經(jīng)歷,我和timeexceed住在了教三四樓的java機(jī)房。在我的
印象里,每天都是兩場訓(xùn)練,一場是早上開始,到下午兩三點(diǎn)鐘,然后我累得不行就去
睡覺,起來后吃晚飯,晚飯后接著訓(xùn)練,然后夜宵,然后睡覺。時(shí)常我在六點(diǎn)的時(shí)候醒
來,夢里還在做題,天總是蒙蒙亮,而我卻總是分不清清晨還是黃昏。訓(xùn)練的效果仍然
不算理想,但是有了幾點(diǎn)進(jìn)步是明顯的。首先我們得到了幾個(gè)結(jié)論:1機(jī)時(shí)是一場比賽中
的重中之重;2 jellyfish絕對有能力很好地完成模擬題;3 timeexceed的成功率完全是
能夠提高的;4 這是我個(gè)人的感覺,我們跟清華的差距是一道題,并且是完全追不上的
一道題。
這幾點(diǎn)是重要的,說明我們在一定程度上對自己的認(rèn)識開始深刻,并相應(yīng)采取了可以看
到效果的措施。此外VAC的難以使用也促成了我們至為重要的第一條措施,那就使用Ultr
aEdit作為我們的IDE。這一切其實(shí)都是四個(gè)字:窮則思變。困境是時(shí)常遇到的,如果總
是順境那就沒有了提高和改進(jìn)的環(huán)境,從某種意義上來說是一種更大的困境。于是,重
要的事情是在困境中要窮則思變,要發(fā)現(xiàn)問題的所在,并提出切實(shí)有效的措施。這樣的
措施要便于執(zhí)行并且便于觀測執(zhí)行后的效果。那條簡單的措施帶來了很多變化,第一是
機(jī)時(shí)被節(jié)省,因?yàn)楦緹o法調(diào)試,于是那些不知底的調(diào)試時(shí)間都被省了出來;第二是長
時(shí)間的讀代碼差錯(cuò)使得我們每個(gè)人的代碼實(shí)現(xiàn)能力又不自覺中提高了;最后一點(diǎn)就是我
們開始意識到這樣的訓(xùn)練使得不再害怕于使用任何的IDE,只要它具有代碼縮近的功能。
最后一點(diǎn)在后來被我重新的認(rèn)識,那就是一支真正的強(qiáng)隊(duì)?wèi)?yīng)該在任何外界的環(huán)境發(fā)生巨
大變化的時(shí)候,它依舊處變不驚。而經(jīng)過那樣殘酷的訓(xùn)練,IDE的變化對于我們那樣的
隊(duì)伍而言已經(jīng)是一件很無所謂的事情了。
由于機(jī)時(shí)是重中之重,那么除了在訓(xùn)練的時(shí)候增加措施來進(jìn)行機(jī)時(shí)的保護(hù),在賽場上也
要有一個(gè)相對的指標(biāo)來衡量和控制。我們當(dāng)時(shí)的標(biāo)準(zhǔn)是考察代碼量,最為核心的標(biāo)準(zhǔn)是
三個(gè)小時(shí)的時(shí)候是否有4-5題的代碼。這個(gè)標(biāo)準(zhǔn)在后來的幾年幾乎可以被后來的眾多隊(duì)伍
恥笑,但是在與當(dāng)時(shí)卻是非常實(shí)際的一個(gè)標(biāo)準(zhǔn)。理由非常簡單,這個(gè)標(biāo)準(zhǔn)我們勉強(qiáng)能達(dá)
到,而同時(shí)這個(gè)標(biāo)準(zhǔn)已經(jīng)能夠達(dá)到一個(gè)比較好的成績在其他的一切比較順利的情況下。
簡單的分析一下那些年的冠軍大多數(shù)是6道題,而某一次是7道。試想我們?nèi)绻茉?個(gè)小
時(shí)完成4道題的代碼,并且能夠很好的保證這些代碼的正確性,至少是有效性;那么在剩
余的2個(gè)小時(shí)之內(nèi),我們完全有機(jī)會(huì)完成2-3道的代碼,也就是說從代碼量上已經(jīng)可以接
近頂尖的水平。之所以在未來的若干年里,這個(gè)標(biāo)準(zhǔn)被狠狠地打破,我個(gè)人認(rèn)為這是一
件水漲船高的事情。
Jellyfish對模擬題的能力的把握性直接帶來了戰(zhàn)術(shù)上的一些靈活性。這使得我在早期的
時(shí)候能夠騰出一段時(shí)間來好好地把握所有題目的難易程度,并且某些題目可以在準(zhǔn)備之
后在上機(jī),從而也提高了我的成功率和使用機(jī)子的效率。此外,這讓我在后來訓(xùn)練中意
識到另一句重要的事情:很多隊(duì)伍都忽略模擬題,由于它顯得不是那么“有趣”“有挑
戰(zhàn)性”,然而事實(shí)上它和其他的所有題甚至是最難的一道題一樣:它是一道題,它是可
以插起一個(gè)氣球的一道題,無論氣球是哪種顏色的。而且,越是想拿好成績的隊(duì)伍事實(shí)
上越該注意提到這方面的能力,就好比球賽中有所謂的“機(jī)會(huì)球”,也就是人人都能得
分的球,這類題也恰恰是這種,只要你愿意在訓(xùn)練的時(shí)候去寫那一行行的代碼。
Timeexceed在隊(duì)中的工作在多年以后給了我更加深遠(yuǎn)的提示。他在隊(duì)伍中負(fù)責(zé)不多的代
碼,然而他上來之前一定是經(jīng)過深思熟慮,并且在紙上很好的準(zhǔn)備過的。這樣的意義在
于節(jié)省機(jī)時(shí)。事實(shí)上,由于我現(xiàn)在思考了很多關(guān)于調(diào)度的問題,我去回想這個(gè)問題的時(shí)
候認(rèn)為當(dāng)初這樣的策略其實(shí)是全隊(duì)去完成這樣一個(gè)戰(zhàn)術(shù)上的目標(biāo):把機(jī)時(shí)盡量的騰給我
。當(dāng)然這樣的結(jié)果是我必須去負(fù)責(zé)解決掉更多的題目和代碼。于是,為了滿足這個(gè)戰(zhàn)術(shù)
目標(biāo),他們兩個(gè)負(fù)責(zé)讀掉絕大多數(shù)的題目。此外,甚至為了節(jié)省一點(diǎn)點(diǎn)的調(diào)試時(shí)間,tim
eexceed還要任勞任怨的在一旁筆算某些題目的測試數(shù)據(jù)。這其實(shí)都是一些沒有什么成就
感的繁瑣活。而于我最大的感受就是什么是teamwork:有著明確的目標(biāo),明確的戰(zhàn)術(shù),
相互之間有著明確的共識,分工和信賴,然后為了那個(gè)明確的目標(biāo),每個(gè)人承擔(dān)自己所
該承擔(dān)的任務(wù),扮演自己所該扮演的角色。
此外還有很多細(xì)節(jié)上討論和進(jìn)步,就好比相互講題時(shí)的原則,賽前畫表格的作用,等等
,諸如此類。還比如為了討論timeexceed是不是適合去完成第一道題,我們也是一遍又
一遍的嘗試來得到最終的結(jié)論。
其實(shí)這是一個(gè)最為艱難的時(shí)期,而這個(gè)時(shí)刻也是我學(xué)習(xí)到最多的時(shí)期,或者說積累最多
的時(shí)期。在那個(gè)時(shí)候我不知道很多道理,但是在jellyfish和timeexceed的幫助下我得到
了很多的感受,在我們那支隊(duì)伍取得某種意義上的成功以后,那筆財(cái)富慢慢的顯示出它
的價(jià)值,盡管交大日后的每一支隊(duì)伍跟這一支都不一樣。也許沒有Jellyfish的那句話“
任何技術(shù)問題都是可以通過管理的方法來解決的”,我會(huì)一直認(rèn)為只有找到三個(gè)跟cl,
wxl, zzp那么強(qiáng)的人的時(shí)候我們才有機(jī)會(huì)填平那一道題的差距;而事實(shí)上,在后來的兩
三年我們追上并超越清華靠的完全不是個(gè)人的實(shí)力。
太多太多的事情,在發(fā)生的時(shí)候我們并不理解;
太多太多的道理,在我們理解的時(shí)候只能回頭去感激生活。
posted on 2007-11-22 19:03
R2 閱讀(197)
評論(0) 編輯 收藏 引用 所屬分類:
他山之石