在準備藍橋杯的時候很想比完賽就寫個總結記錄一下付出的努力,可是比完賽後就沒有那麼強烈的慾望了,因為發現自己準備了差不多一年的各種演演算法,藍橋杯的試題上根本不考,只要程式碼敲的多,再細心一點,藍橋杯的題目幾乎完全是可以做的啊?演演算法比賽演演算法根本考的不多
但是還是寫個小總結記錄一下這段經歷吧?畢竟第一次這麼認真去準備這個比賽,不管結果考的這麼樣,也算把應該學的應該練得都走了一遍吧,收穫還是蠻豐富的。如果你還在糾結報不報藍橋杯,不要猶豫直接報,因為當有一個目標之後,努力之後收穫的僅僅不是一張證書,還有學習的過程相信我的經歷可以給你帶來收穫
開始當學校老師提到藍橋杯演演算法比賽那是還是大二上,聽著蠻高大上,因為其實我大一都是在混日子,而且我在一個三本院校,可想而知向引導自己去往一個正確的方向去學習挺難的(雖然是軟體工程專業),不止是我,應該所有的人都屬於跟著老師去學,最後其實什麼也沒有學到,專業課是屬於一塌糊塗,所以聽到這個比賽其實我身邊的同學都當成了一個玩笑,笑一笑也就過去了(因為都認為是自己能力遙不可及的比賽),但是我一直以來還是一個比較喜歡挑戰的性格,而且也比較自信(雖然啥也不是),再加上自己剛斬獲了計算機二級證書,有點膨脹(因為專業好像就兩三個人拿到了,不要不可思議,要知道我們是在一個什麼樣的學校),最後我決定報名去試試,而且嘗試著約身邊的小夥伴一起報名,但是都抱著送錢的心態,最後只有我報了名
我是那種一旦有了目標就會用盡全力去實現他的性格,所以我經常回會個自己生活定小目標,要不然就感覺自己在混日子(~ - ~)
藍橋杯比賽一般都是三四月,所以我的初期計劃是從2019年1月10號(因為這個時候放寒假了)到藍橋盃賽前,這個時候疫情爆發了,所有的人都不能出門,恰恰因為都不能出門給了我充分的備考時間(因為不用走親戚)我每天早上6:00點開始學,到下午18:00,那個時候只想拿個省三就覺得OK了
剛開始備戰藍橋杯,是先去看了官方的備考建議,然而其實作用不大,因為啥暴力,二分,搜素等等這些詞彙這個時候是個啥我還真的不清楚,所以一臉懵逼得看完了,這個時候特別迷茫,因為想努力學,但又找不到地方使勁的這種感覺,找老師,老師也沒有給啥實質性的建議,找以往學校的學長他們問,都是一句話刷題,去網上看前輩們的建議,也都是一句話刷題(這是坑我最深的一句話,大家千萬不要盲目刷題),沒辦法小白的我只能汲取前輩們的建議盲目得去刷題了,去做藍橋杯官網的題目(我建議備戰藍橋杯真的不需要去官網刷題,畢竟裡面很多題目的演演算法還是太高深了,會打擊自信),但是程式碼敲得甚少的我一天下來那種最簡單的題也許也只能做兩三道,我想這不完了嗎?然後聽大家又說要學資料結構和演演算法,我又去看《演演算法入門競賽經典》劉汝佳老師的這本書,這個時候還是收穫了語言競賽方面的小知識點(競賽知識乾貨)但是看到後面就看不懂了,然後又不知道怎麼學了,然後又開始盲目刷題,所以大概盲目刷了兩個月的題吧,我決定這兩個月是最不值得的,因為這樣真的是事半功倍的效果,經常刷題刷題就抑鬱了,因為說實話這樣刷題會讓自己特別難受痛苦,會不停的被打擊
這裡提一下這段時段最大的收穫應該就是愛上了在CSDN寫部落格總結吧,也推薦大家這樣做,既可以做筆記,還可以讓自己對問題思考的更深刻,還能幫助到別人,對提高自己幫助很大,而且這也是讓我堅持下去的唯一樂趣
整個二月大部分都是在盲目刷題,真佩服我是怎麼堅持下來的
開始知道還有一種演演算法的東西可以讓做題變得更簡單,是在我無意中發現了自己網路硬碟裡面還有備戰藍橋杯的計蒜客的課程(應該是我剛開始備戰的時候看到資料就下的習慣保留下來的吧,需要的小夥伴可以留言),於是我就開始跟著視訊學習,然後就學習了字串和日期(藍橋杯常考),sort排序(這個時候我還懵逼c和c++能不能一起使用),列舉演演算法(天天聽暴力,第一次知道了什麼是暴力),常用STL(開啟了我的C++新世界,一定要學,可以讓解題達到事半功倍,不用從零開始學C++,只要學STL就可以了,剛開始會感覺很難,但是沉下心來多聽幾遍發現就是一個工具而已很簡單),棧和遞迴(肯定剛開始聽不懂,要靠大量刷題才能領悟),然後是搜尋,這裡要重點提一下了,這也是我第一次感受到了演演算法的魅力,第一次明白了為什麼要學演演算法,而且這也是個入門級演演算法吧!開始學的時候肯定不會聽明白,當成模板去刷題就行,漸漸的就明白了,也就是這個時候,我明白了要針對演演算法去刷題,即能夠提高程式設計能力,也能鞏固演演算法學以致用,然後這個時候其實是快接近藍橋杯的比賽日期了的,當時後悔為什麼沒有找到發現寶藏
到了四月份,由於疫情開學不了,藍橋杯延遲舉辦,這個時候我覺得自己機會來了,因為知道了如何去備考,覺得自己努力努力還是可以衝一衝的,所以我就將目標定成了省一,天天大量刷題,當時認為隨著疫情的好轉藍橋杯隨時會開考,藍橋杯官方也沒有給具體時間,這個時候我是抱著馬上上戰場的努力去備考的,後來解封了,以為會開考,最後收到通知推遲到九月中旬,收到訊息時是特別不舒服的,準備了這麼久,最後比不成,這麼多題目都白刷了?不過不接受咱也得接受啊!於是我就準備軟考和英語四級去了,也沒有在刷題了,軟考也通知了延遲,因為我是原來正常開考時間前幾天開始準備考的,本來是沒有時間的,但是延遲了我感覺我又有機會了,於是拼命備考,就在決定上戰場的時候,天天等著開考的訊息,造化弄人軟考也通知推遲到11月,我的天啊!這不是玩我嗎?因為藍橋杯通知在九月中旬,所以我八月中旬就開始繼續備戰,就當我認為九月中旬可以考的時候,官方又通知延遲到10月下旬,徹底瘋了,我也太倒黴了,英語藍橋杯的軟考的時間把我的英語計劃打亂了,考研計劃也隨之打亂
在充分準備了各種演演算法之後,刷完了所有的真題,基本都可以對七八道,包括一些高階演演算法(並查集,線段樹,尺取法)就抱著省一的心態上了戰場(這個時候感覺如果拿的是省三真的就對不起自己的付出),前六道題很有信心得做完了,第七道題暴力應該拿一半分,最後兩道考思維的題原諒我太菜,出了考場發現第五個填空題抽風思路都想到,因為大意直接丟15分,要不然還感覺可以沖沖省一的,現在省二都沒啥信心了
但是考的分數代表不了什麼,因為開頭說了,真的沒有考什麼演演算法
一定要結合演演算法去刷題,如果不清楚需要學習那些演演算法可以借鑑我學部落格的一個演演算法學習路程,因為我也是從小白開始接觸演演算法的,所以說還是比較有借鑑意義,如果遇到不會的題可以參考別人的解法,因為演演算法學習就是這樣的,但是千萬不要抄別人的程式碼,清楚思想之後自己用程式碼實現,還有就是寫部落格做總結,這樣才可以留下東西,還有可以買一本《啊哈演演算法》和《挑戰程式設計競賽》這兩本書,《啊哈演演算法》對入門的小夥伴還是很有幫助的,《挑戰程式設計競賽》可能講的不容易看懂,但是可以借鑑裡面的演演算法學習路線,還是比較系統,而且有很多值得去掌握的技巧
我在這裡附上我比賽的一個演演算法的總結,裡面包括了我學習的一部分演演算法,當然我認為這裡面的演演算法是必需要掌握的,其他的一些知識還需要自己探索
備戰藍橋杯演演算法整合
剛開始備戰藍橋杯的時候相信都會和我一樣天天七上八下的擔心啥也撈不著,付出了努力但是沒有收穫什麼,使勁不知道往哪使,一天下來就刷一兩道題很惆悵,我想說其實當很認真去準備的之後,會很明顯感覺到自己和以前的自己比較是進步了不少的,無論是程式碼功底,還是學習習慣,還是對專業認知,專業興趣和自己未來的一個方向,(最簡單的,你寫程式碼偵錯基本不會存在錯誤了)都是可以收穫的東西,如果準備了很久還沒有感受到哪說明你還不夠努力,或者在假努力,如果真的有使勁還是沒有進步,就需要反思自己的備戰方向了,總之,相信努力就會有收穫!!!如果實在累了就允許自己小休息娛樂一下聽聽音樂,偶爾抱怨,偶爾彷徨,然後抄起程式碼繼續戰鬥!!!
歷經差不多一年的戰線已經結束了,天天等著日出,送走日落,碰上疫情變得無比坎坷,雖然比賽差強人意,但是這段努力還是很寶貴的,將我從一個鹹魚變成了一個逆行者,我會帶著這段財富繼續拼下去,相信未來可期!!!
比賽照片:
這是備戰敲毀的鍵盤,留下來紀念一下: