1. 程式人生 > >第一次ACM賽後總結及感悟

第一次ACM賽後總結及感悟

2014 "嘉傑資訊"杯 ACM/ICPC湖南程式設計邀請賽暨第六屆湘潭程式設計比賽

賽後總結,雖然已經是大二第二學期了,這卻是我的第一次真正的ACM比賽經歷,大一雖然說就已經進了ACM隊,感覺是打了一年醬油,有這種比賽機會也沒有勇氣去參加,感覺實力太菜了,到了大二感覺再不努力也許就沒機會了,從上學期到現在吧,在oj上刷了差不多200多道題,相對於一些大神來說是遠遠還不夠的,比別人大一的水平還差,至少相對我大一的水平有了一定的提升,終於鼓足勇氣向老師提出參加這次ACM競賽,也就是在這學期,聽取一些學長的建議,開通了部落格,記錄和積累一些自己做過的題,還要堅持寫下去!

就在下面的這種情況下,開始了我的處女賽,感覺不受打擊就不會有成長,只有在一次次的打擊中吸取經驗,成為自己前進的動力,這次比賽感覺好多學校都也是派的菜鳥隊過來試水的,重點還是10月份的省賽,但是相對那些隊,我們的水平也還是趕不上啊!弱校的ACMer的出路,也只有拿到獎牌才能改變學校的一些現狀,脫離我們現在這個惡性迴圈。

下面回到今天的這次比賽,比賽剛開始,題目一發下來,我一看全是英文題,以前沒遇到都是英文題的情況,(還好題目都不是很長,英文也不算很難)我們先開始就看的是a題,看了一會LX說好像有點思路,然後就讓他寫了一下,後面測試了一下,發現肯定會超時,我們就說往後面看一下後面的題,後來DT說e題可以搞,(開始一直不知道在哪裡看榜,後來才找到),後來就由DT開始寫,幾分鐘就把程式碼敲好了,開始測試樣例,樣例都通過了,然後說直接提交一次,直接出來了PE,我一看就說是輸出格式有錯誤,叫他檢查一下,原來是少打了一個空格,後來加上了提交a了,然後我們終於找到榜了(還是沒經驗啊),一看我們e題a的還挺快的,差不多10多名吧,感覺e題就是簽到題,(沒能1A啊,還被罰時了,不應該啊,直接影響了後面的排名),然後我們就接著往後面看題,LX還在看a題,然後我感覺c題可以做,好像以前做過的RMQ類問題,然後就讀了一下題意,感覺要用線段樹或者是ST演算法,我說就先放在那裡,DT說H題可以做,然後我和他一起討論h題,我開始讀題感覺那道題說一個個數很慢,就有點排斥用暴力去做,我感覺可以用字串去做,然後DT說用遞迴,然後他開始寫程式碼,然後我再理解了一下題意,感覺也可以,就一起檢查他的程式碼,後來他寫的越來越複雜了,也越來越繁瑣,我就感覺可能思路有點錯誤,然後LX過來看了一下這道題說用暴力做,我還反駁他說,暴力會超時,然後還是DT在修改他的程式碼,修改了半天,後面開始測試樣例,後來其它都通過了,一測試97就直接執行錯誤,不知道為什麼,後來在這種情況下我們提交了一次(以後儘量避免這種提交),隨便看了一下榜,我們已經掉了好遠了,看了一下有人ac出來了G題,我去看了一下題目Alice和bob我說這不是那個博弈和dp題嘛,然後就直接跳過了,然後就去看了一下c題,DT還在搞H題,就這樣搞的心情都有點焦急了,看都有些隊都ac了3個題了,然後DT和我說一定要把H題搞出來,然後我又和他分析了一下程式碼,那個遞迴遞的我都有點混亂了,就在糾結中又和LX討論了一下A題,感覺有點會超時的感覺(當時沒往大精度那方面去想),然後DT又測試一下樣例,還是通不過,我說我們還是換種思路吧,這個時候漢堡已經來了,然後我和DT說時間已經過了這麼久了啊,我說我們先吃漢堡吧,然後再接著搞,就在我們吃漢堡的過程中,我們又看了一下榜,看到G題a的人好多啊,我就看是認真讀了一下題意,讀懂了之後,我直接和DT說了一下我的思路,直接是判斷奇偶數啊,然後DT開始敲程式碼,沒有10分鐘敲好了,測試了一下案例,好像和案例正好相反,改一下,在測試一下,通過了樣例,直接提交,1A,10多分鐘這道題就做出來了,(做題的順序不對啊),在看一下榜,我們已經是接近倒數了,這個時候我們的信心又來了,然後LX說用暴力做一下H題,我們正好也沒思路,就讓他寫了,他又和我們講了一下他的思路,DT也覺的可行了,就接只敲程式碼,我就正好去看了一下後面的題,b題沒怎麼看懂,e,f題也沒什麼思路,我也就看了一下C題,後來發現那個用線段樹還是有點不熟悉,以前搞的那個ST演算法是用DP寫的,還有點沒搞懂,沒帶模板去,這個時候看著他們用暴力搞開始有了一點頭緒,陣列變化都是有規律的,感覺H題也要a了,寫完之後,我們又測試了樣例,還有一些特殊樣例,都通過了,我說就直接提交了吧,過了幾秒鐘,那個狀態還是compiling,我有種要超時的感覺,還好跳轉過來a了,我們在看了一下榜,大部分都a了3個題了,我們名次還是接近倒數了,被罰了40分鐘,接下來我們又討論了一下接下來該做哪個題,我們又把題目都看了一下,又結合了

榜,我覺得應該搞c題,DT因為還剛搞不久,沒接觸什麼演算法,然後我就和LX討論了一下,我覺得可以用線段樹試一試,然後我開始敲程式碼,LX就去書上開始找模板,DT開始往下面看其他題,這時候比賽差不多已經接近尾聲了,到了最後的一個小時,大家的情緒也開始急躁起來了,我敲了半天,感覺還是有點不對,然後就讓LX去敲了,DT已經沒什麼心情再做題了,我又隨便去看了一下榜,我們的排名靠後啊!3個題拿獎是無望了,我們就差不多有點放棄了,看了一下a出4個題的也才20個隊,再後來我們又看了一下d題,感覺是沒什麼思路,後面有幾道還沒有人a出來的題,我們也就沒去看了,我就去找了一下模板,一時也沒能聯絡上來,用樸素演算法肯定會超時,時間又過了半個小時,後來的半個小時基本沒什麼心情去做了,我們的最終成績也就定格在3道題,開始由於思路的問題,我們的時間花的太多了,排名太靠後了,拿獎是基本無望了,時間也就在這樣的狀態下走完了。

這次比賽總結起來發現了我們的好多不足之處,第一個就是我們經驗的缺失,畢竟是我們第一次參加這樣的比賽,還有就是對做題順序的把握不好,對題目難易程度判斷不準確,如果做一個題發現思路錯了,我們應該要及時改變思路,跳過去,先去做下面容易的題,等回過頭來在做,要用盡量短的時間把我們知道做的題做出來,有些題,我們有思路,不敢保證完全做出來,就放到後面再去做,還有就是比賽的時候心態不好,中間做的時候就比較焦急,這樣對自己的思路也會有影響,要調節好自己的情緒,還有就是要及時改變策略,多看榜,看到有很多人a的題目,我們肯定要去看一下,一開始我們就應該把題目全部都看一遍,最重要的是我們的實力還是不行,對於有些簡單的題目還是不夠熟練,思路不夠清晰,下階段要進一步有針對的加強訓練!

比賽結束,我真的是百感交集,有過遺憾,有過不甘心,有過想放棄,有過自卑,有過失望,本來這次比賽應該是很好拿獎的,最終我們還是與獎牌擦肩而過,可能與經驗的缺乏有關,更多的還是實力的差別,自己的實力還是不行,我們出去和W老師交流,W老師也只能安慰我們,說我們還是有進步比以前還是好多了,但是,本來是滿心希望我們能帶個獎牌回去的,這樣我們的環境,條件,經費,才可能有所改善,哎,一切就結束了,這個學期過完我就是大三了,我也還想去考研,大學裡也還沒有接觸過一些專案,我們java老師搞了一個專案小組,我也想去參加,但是我真的還不想放棄ACM啊,好糾結啊!這個學期以來,我可以算是紮實的搞了2個月演算法,刷了2個月的題,雖然比不上那些大牛的程度,感覺自己的實力還是提升了,我真的還想拿一個獎牌,只有我們拿了獎牌了,我們學校的ACM事業才能發展起來,留給我的機會真的也不多了!