天天看點

我的ACM生涯——迷失

自從EC打鐵歸來已經一星期了了,這一周我都在頹廢。似乎又回到以前的自己……

沒想到,我在集訓隊呆了2年,還是菜的真實。雖然把所有的原因,都歸結到菜上,的确是個逃避問題正解的辦法。我決定寫點什麼總結,算是一個收尾。

先來做個回憶:

還記得第一次看到自己NOIP成績得時候,隻是歎了一口氣。高二得下半學期是我人生中一次又一次的低谷中的一次,人生中的三連跪。

懷着不情願,我成為了新生的集訓隊最年輕的成員之一,由于大一的時候沒有點電腦,我還經常去圖書館的電腦那邊刷題,雖然隻能刷上幾道題,甚至有可能還要先把電腦修好,我都是很開心的。

長安大學的第一次新生賽,是我比賽的起點吧,那個時候A了4道左右的題,雖然沒有學長強,還是挺開心的。

大一上就這麼結束了,沒想到這是我開始迷失的開始。由于陝西學校比較多,大家樂于交流,我作為新隊員經常去其他學校參加比賽。然而這些比賽都不出所料的跪了,現在想想,原因隻有一個:基礎問題,由于沒有人告訴我去幹什麼,我每天沉靜在學習新算法中,大一下就學到了AC自動機(笑,可能還是有點慢),忽視了基礎訓練。加上大一的心理狀況出了問題,就一口氣跪完了那個學期的所有比賽:省賽,天梯,校賽……

大一的暑假去了艾教的集訓營,認識了雨神等一衆dalao,那個時候才真正體會到了學習算法的快樂,之前自己再看部落格的時候完全是在自我陶醉,根本沒有了解。可笑,好在認真學習了基礎知識,這個要感謝雨神……

大二終于到我參加區域賽了,在賽前,我打網絡賽的時候,發現自己知識掌握程度不高,于是就又把中心放到了學習算法上,學習新的DP算法再到學習數論,雖然我知道基礎很重要,但是那時候我的想法是:

隻會刷基礎題,怎麼叫作打ACM呢?

我現在要說:如果基礎不好,怎麼學新算法呢?

在我看來,這是一項兩頭并重的學習過程,如果就刷些水題必然是沒有進步的,如果刷一些一知半解,看題解才會的題,同樣是沒有進步的。

于是就開始了大二第一次打鐵之路,具體的就不說了,之前有寫過。

這次打鐵歸來,我就決定真真切切的把基礎練上去,于是一天一套CF計劃開始了,這個計劃堅持了很長時間,在後來也有堅持,這是我做的最明智的事情了。

在大二開始的時候,我發現假期的基礎訓練,帶給我的進步非常的大,我終于能把一些以前不會的算法搞明白了,真真正正的學會了一些比較重要的算法。大二下的成績就還行,拿到了第一塊也是最後一塊牌,成功殺入藍橋杯。

大二的暑假我在學校刷多校,又被知識海給震懾住了,沒辦法,就給自己加了很多這樣的學習知識點的新任務。好在我沒有挑自己喜歡的知識點學習,而是盡可能的提高自己的綜合能力,盡可能多的擴充自己會的東西。這段時間的瘋狂訓練,也發現了自己不擅長做思維類的題,現在想想,一定是自己太依賴題解了,再加上天生腦回路清奇,有的時候經常将思路攪渾,就看題解去了,長時間的訓練,并沒有機會讓我意識到這個問題……

有人說比賽心态也是很重要的,我深表贊同。

去青島之前訓練了很多場,發現思維題真的不會做,好在隊友牛逼,就随便應付過去了。

然後在青島,先期的小問題,讓我們到最後三個人都心态爆炸了。

從青島歸來,兩周的時間調整了一下,沒調整過來。

焦作的時候,我面對倒計時,緊張的大腦一片空白。

在焦作回來之後,我終于意識到自己是迷失太久了,為什麼要來打算法競賽?我忘記了,隻是條件反射似的去比賽了。因為我沒有競賽,可能真的是一無所有。我真的熱愛ACM嗎?我忘記了。

走過這麼多的路,最後還是找不到回去的路了,可悲!

在想明白這個問題之後,我才決定去試一試。放手一搏

最後去EC,面對一道簡單題,我硬是翻譯錯了題意,拖累了隊友好長時間,但是最後的其他題還是不會……

缺乏思維的鍛煉,是我基礎終于紮實了之後,另一個問題,但是我還是不明白,為什麼我做了很多的思維題,還是沒有解出來那道關鍵的DP。

是以一個普通人怎麼開展訓練呢?

首先一定要至少刷完一本入門書,不是紫書,比如挑戰就很好,至少要把上面出現的類型都刷出來。

這期間進行大量的CF題目訓練,一定要補到比自己水準高的題。

可能是我自己的問題,訓練的時候一言不合就百度題解去了,甚至想都沒想過,可笑可笑。至少要想一想才能放棄才是正确的,而且一定要重新刷這樣的題。可能是因為忽視了重刷,才會這麼菜。訓練方法是沒啥問題的。

等到能穩住出divCD左右的水準,其實已經會不少奇奇怪怪的算法了。就開始學習一些難一點算法,一定要明白,會了闆子題是遠遠不夠的。

因為抛開基礎題,題目大緻分這麼幾種:

1好幾個算法整合在一起,什麼二分加最大流之類的

2對一個算法的深入思考,考察他的特殊性質

闆子題基本上不會出現了,是以要花很長時間來學習一類算法。也就是刷專題。不僅專題要刷,還要刷專題之外的新題。

就好比點技能樹,首先基礎的樹根要點亮,之後一定要先點一些其他方向(圖論,資料結構,數論)基礎的闆子題,之後一定要在一定領域深入,否則的話,就隻能停留在菜雞選手的水準。雖然部落客的确是個鐵牌選手,但是随便寫個網絡流,做些圖論的題還是有點自信的。但是實力還不足以上升到這個階段就很尴尬。

盡量讓自己全能一點,不求多深入,一定要對這些領域有一定了解才行。這個是為了防止做不出來需要某種特定算法的前提條件的題。

一定要認真學DP,對思維大有幫助。

在往上的世界就不太清楚了,一般人的話,是達不到的。

我為什會鐵到退役?

1.心态問題,之前也講過因為自己太渴望證明自己,加上陷得太深,對獎牌無比執着,反而是适得其反。

2.訓練方向問題,部落客沒刷過藍書之類的入門書,全靠blog帶,後來學習各種算法的時候也是挑想刷的刷,沒有學會一個專題就搞搞闆子題,假裝自己會了

3.硬傷問題:智商不夠高,或者思維方式太過奇葩沒有擺正過來

4.運氣差一點……沒有碰上徐州這樣的知識場,反而碰上的全是考驗硬思維能力的場

事到如今,也沒什麼可總結的了。部落客并不是經常摸魚抱大腿的選手,題主自己的訓練一直都在進行着,也可以說是努力了。

我明白,努力不一定會有結果的。

至少我努力了吧……我證明了競賽上可能就這個水準了,但是多年的競賽經曆,至少讓我對程式設計的了解加深了不少層次。這個就算最大的收獲了。

正式對ACM說再見了,但是今後會以個人名義活躍一段時間。感覺比賽還沒打夠啊

也許您無意中翻到這篇部落格,看到部落客在自我批評,一定會嘲笑這個愚蠢的人。但是您看到了這裡,也許會思考和我一樣的問題,也算做一點點貢獻。

希望每個選手都能明白,競賽隻是漫長旅程的一部分,而且競賽是這段旅程充滿荊棘坎坷的一段路。

希望走在路上的時候,能記住——

為什麼我站在這個賽場上。