哈爾濱地區(qū)賽已經(jīng)結(jié)束一個(gè)多星期了,應(yīng)bf大牛的要求,寫篇比賽總結(jié)。順便總結(jié)下自己大學(xué)三年的ACM經(jīng)歷,希望能給ACM的師弟妹們滴點(diǎn)幫助…
一、初識(shí)ACM
剛來大學(xué),完全不知道編程是什么東西,只是聽?zhēng)熜终f大一的C語言課很重要。于是乎,很努力的學(xué)C語言。學(xué)期快結(jié)束時(shí)在室友小東那得知有個(gè)叫ACM的程序設(shè)計(jì)競(jìng)賽,對(duì)編程的提高、算法(那時(shí)還不知道是什么,只知道是很高深的東西)研究以及邏輯思維有很大幫助。而且宿舍室友志同道合,于是宿舍四人都設(shè)定加入ACM隊(duì)的目標(biāo),計(jì)劃寒假回家自學(xué)并A題。(但寒假回家只有小東一個(gè)人做了10幾道水題)
第二學(xué)期不久便迎來了ACM校賽,我和小東、CQH組隊(duì)參加。只是知道ACM簡(jiǎn)單輸入輸出規(guī)則的我們,比賽時(shí)做了幾道水題就拿了個(gè)獎(jiǎng)(好像是一等獎(jiǎng))。校賽后并沒有被招進(jìn)ACM隊(duì)(其實(shí)那時(shí)候?qū)W校ACM隊(duì)沒有集訓(xùn)室,都是自己找資料,自己上網(wǎng)做題,不會(huì)的自己搜報(bào)告),仍然是自己看看數(shù)據(jù)結(jié)構(gòu),做做題。而我又特別的懶,那一年花在ACM上的時(shí)間很少。暑假集訓(xùn)由于個(gè)人原因沒有參加,在家也只是做了幾道水題而已。
直到大二第一學(xué)期末,韓總找了我們幾個(gè)大三和大二在斷斷續(xù)續(xù)搞ACM的,要求我們寒假回去做題。希望在下學(xué)期的校賽取得好成績(jī),參加省賽。寒假在家又看了一點(diǎn)書,做了幾道題。
大二下學(xué)期,期待校賽期待了很久,直到臨近省賽才開始。校賽的網(wǎng)絡(luò)賽都是水題,惟一一道不是水題的由于數(shù)據(jù)比較弱,也被我水過了(也是由于快速的A了那些水題,得到了William大牛的欣賞)。正式賽時(shí)我做得很差,勉強(qiáng)進(jìn)入前六。
二、ACM之旅
08年校賽過后,就同William和HJR大牛組隊(duì),正式加入我們整支隊(duì)就HJR大牛實(shí)力最強(qiáng),我和William只會(huì)A水題。HJR大牛比較內(nèi)向,對(duì)省賽很看重,他的緊張和保守也給了我們莫大的壓力。省賽只是做了四個(gè)水題,拿了個(gè)銅。
省賽過后主要的是應(yīng)付課程了,花了一個(gè)多月時(shí)間看書、復(fù)習(xí),考了個(gè)不錯(cuò)的成績(jī)。(搞ACM要選擇性的去上課,但千萬不要掛科,掛了科你要得浪費(fèi)時(shí)間在重修上。)
省賽過后集訓(xùn)隊(duì)有了自己的集訓(xùn)室了,而接下來的暑假有了比較正規(guī)的訓(xùn)練。暑假的訓(xùn)練使自己提升了很多(整個(gè)集訓(xùn)隊(duì)的隊(duì)員都提升很多),給自己滴點(diǎn)信心去參加08年的地區(qū)賽。地區(qū)賽前,由于有新秀的出現(xiàn),我的隊(duì)員變?yōu)?/span>William和DieIng,地區(qū)賽前瘋狂的訓(xùn)練,使我們整只隊(duì)總體實(shí)力大大提升,團(tuán)隊(duì)配合也有很大的提升。
08年地區(qū)賽網(wǎng)絡(luò)賽五個(gè)賽區(qū)的出線名額都拿到了,而且合肥可以去兩只隊(duì)。由于經(jīng)費(fèi)和實(shí)力問題,我們隊(duì)選擇了比較近的殘疾人賽區(qū)--合肥。整個(gè)比賽我們兩支隊(duì)都很郁悶,實(shí)力加運(yùn)氣都不好,最后我們只是勉強(qiáng)拿了個(gè)銅。
三、ACM又一階段
08地區(qū)賽過后的目標(biāo)是下一年的省賽,我和William把它當(dāng)成自己的退役賽,希望能有個(gè)比較好的結(jié)果結(jié)束自己的ACM之旅。我們按著08地區(qū)賽分的方向,每人努力精攻自己負(fù)責(zé)的方向。DieIng負(fù)責(zé)圖論,William負(fù)責(zé)模擬題和組合數(shù)學(xué),我負(fù)責(zé)DP(和貪心),而我自己也開始學(xué)點(diǎn)圖論,看點(diǎn)雜細(xì)的東西(如hash、二分逼近等)。省賽前的珠海給了我們一次練兵的機(jī)會(huì),正常發(fā)揮。省賽時(shí)只是做了幾道水題,另外該出的題沒出,拿了個(gè)銀。就這樣退役,雖然很不甘心,但地區(qū)賽需要把機(jī)會(huì)留給師弟們?nèi)ュ憻?,。遲遲不愿寫總結(jié),想讓這樣經(jīng)歷默默的埋在自己心里)。
之后便進(jìn)入應(yīng)對(duì)學(xué)期課程的忙碌和暑假的實(shí)習(xí)。雖然認(rèn)為自己ACM之旅已經(jīng)結(jié)束,但還是喜歡偶然上OJ做做題。暑假實(shí)習(xí)被BS后,回家過最后的暑假。臨近開學(xué),突然收到DieIng大牛的短信,希望一起組隊(duì)參加地區(qū)賽,我不喜歡自己去占了師弟去參加地區(qū)賽的機(jī)會(huì),就同DieIng大牛說我考慮下。之后又接到韓總的電話,一直都受韓總重視,不好意思拒絕,加之對(duì)DieIng大牛仰慕(憑他自己一個(gè)人單挑地區(qū)賽應(yīng)該可以拿個(gè)銅,希望我和july的加入能使成績(jī)有所突破)就答應(yīng)了。
之后是邊找工作,邊抽時(shí)間訓(xùn)練… (哈爾濱地區(qū)賽的準(zhǔn)備,雖然是抽時(shí)間的,但到臨近比賽時(shí)基本是每天一場(chǎng),慢慢的練出感覺…)
四、哈爾濱地區(qū)賽總結(jié)
(copy july的,略做修改)
前序
比賽前一切還是很輕松的,在機(jī)場(chǎng)很榮幸的被學(xué)校acm的鼻祖ziliang給忽悠了。
比賽在體育館看上去還是很爽的,能感受賽場(chǎng)上那種氛圍(不想省賽)。這個(gè)賽區(qū)的參賽隊(duì)伍是史無前例的弱,看不到那些強(qiáng)隊(duì)PK很可惜。但試機(jī)時(shí)的題目很難,三道題我們只出了兩道,然后試試各種錯(cuò)誤就結(jié)束了。試機(jī)后我們認(rèn)為隔天的現(xiàn)場(chǎng)賽題目應(yīng)該也比較難,出題數(shù)相對(duì)會(huì)比較少。(罰時(shí)應(yīng)該會(huì)拉開差距)
現(xiàn)場(chǎng)賽
比賽開始照例july看前,DieIng看后面的,我看中間的。E題題目很長(zhǎng),我大概掃了一下,看F題。A題july一看有兩個(gè)數(shù)獨(dú)的圖,直接交給DieIng,DieIng掃了下output看到是求解的個(gè)數(shù)馬上得出結(jié)論:不會(huì)。F題沒看多久,DieIng就操了一聲,振奮人心,說K題水題!同我講了下后就敲,(我們采取多次出數(shù)據(jù),晚提交少罰時(shí)的策略)我出了點(diǎn)數(shù)據(jù),過了,提交后很快就秒了。B題是一個(gè)簡(jiǎn)單的DP,july同我們講了下,DieIng講了下他的想法,用dp[k]記錄當(dāng)前去k能獲得的最大值,我想了下狀態(tài)轉(zhuǎn)移,同DieIng講了下,又很快被秒了。之后我繼續(xù)看F題,DieIng很快看穿了J題模型,講了下,算下復(fù)雜度用KM沒問題,DieIng就上模板了,我?guī)兔Σ铄e(cuò),(只是找出一個(gè)小錯(cuò)誤,另一個(gè)沒找出,結(jié)果導(dǎo)致一個(gè)WA),又秒之。之后刷了下board,發(fā)現(xiàn)D題有兩隊(duì)過了,july同我們講了下題意,然后去推I題,DieIng大牛認(rèn)為費(fèi)用流可以建模,但好像復(fù)雜度太高。我和他研究了一下,可以只枚舉源點(diǎn),之后上模板、建模、測(cè)試。又是1Y。沒想到平時(shí)訓(xùn)練頻繁wa的我們現(xiàn)在1Y率還是很高的。
4題出后大家剩下的題都很少人出了,大家又分開了想題,過了n久,直到進(jìn)入G的死區(qū)。G題july跟DieIng討論后是直接在trie樹上搜,剛開始覺得會(huì)超時(shí),但看那個(gè)edth最大只有2,所有還是可以的。DieIng先上了他的模板,july寫了個(gè)dfs,剩一個(gè)來鐘,我們覺得只攻一題,所以我也加入了G題,然后發(fā)現(xiàn)了種種問題沒有處理好,我們一直邊說邊改來改去了,感覺亂七八糟的,最后都不知道改成什么樣了,調(diào)到最后還是沒調(diào)出來。
結(jié)果就這樣拿了最后一塊金。一個(gè)幾何,數(shù)論…都沒人會(huì)的隊(duì)伍也能拿金…這個(gè)賽區(qū)的參賽隊(duì)伍真的是史無前例的弱。
后記
比完又留多了一天,又可以當(dāng)是去旅游。在哈又不下雪,一坐火車走就來暴雪,60個(gè)小時(shí)的火車很惡心,除了吃喝拉睡就是打牌,韓總教july打牌時(shí)說,這其實(shí)也是一種數(shù)據(jù)結(jié)構(gòu)...(Orz韓總)
五、ACM總結(jié)
回望自己的ACM經(jīng)歷,總結(jié)如何搞好ACM,如下:
1、 盡早行動(dòng),結(jié)緣ACM
可以從做題開始,先拿水題練編碼能力,然后看數(shù)據(jù)結(jié)構(gòu),繼續(xù)練題…
2、 堅(jiān)持
結(jié)緣后,要堅(jiān)持,剛開始的很長(zhǎng)一段時(shí)間可能很難看到成果,但如果你堅(jiān)持了,時(shí)間長(zhǎng)了,自然會(huì)有一個(gè)質(zhì)的飛躍。(不要像我一樣,斷斷續(xù)續(xù)的搞ACM,那樣提升很慢,一段時(shí)間沒做題了,再做題又得重新找感覺。)
3、 樂于同他人分享
如果可能,多和周圍的同學(xué)一起訓(xùn)練、切題,也可以學(xué)DieIng大牛他們一樣聯(lián)系其他學(xué)校的大牛一起切題,討論。多同大牛沒交流,有些題目你想很久都沒結(jié)果,但經(jīng)大牛點(diǎn)撥,立刻明白,而且以后遇到同種類型的題也很容易想到。(和DieIng大牛一起訓(xùn)練學(xué)到很多)
多寫解題報(bào)告,最后寫思路,而不要貼代碼。每做一種類型題后,寫下總結(jié)。每段時(shí)間的訓(xùn)練后寫寫總結(jié)。
4、 不要放棄課程
其實(shí)很多課程會(huì)用到算法,而ACM的很多題是課程里出現(xiàn)過的模型。成績(jī)不錯(cuò)也能讓你請(qǐng)假更容易,也不需浪費(fèi)時(shí)間在重修上。
5、 讓ACM成為一種習(xí)慣
讓ACM成為一種習(xí)慣,即使不參加ACM比賽,有空上OJ做做題,鞏固下編碼的感覺,鍛煉邏輯思維,讓思考問題如何建模成為一種習(xí)慣。
GDUT_longshen
2009-11-16
posted on 2009-11-17 21:49
longshen 閱讀(4813)
評(píng)論(1) 編輯 收藏 引用 所屬分類:
acm總結(jié)