第十一届蓝桥杯赛后总结 —— 两年征战蓝桥,惜败来年再战。
兩年征戰藍橋,惜敗來年再戰。
第二次參加藍橋杯,水了個國三,雖然有點不滿意,但比去年省二好了一點點。
第十一屆藍橋杯增加了Python組,正好我也入坑了Python,就直接試水了,Python不分ABCG等級,感覺省賽就和國賽差不多了,都是全國排名。省賽大概做了七八道題,最后倆題一題暴力騙分一題直接沒看,提前半小時離場,餓了,拿了個一等獎,國賽感覺題目也不是特別難,好好做了五道,估計錯了一些,大題好幾個直接騙分,沒騙到多少,又提前半小時撤了,不為別的,還是餓,只拿了個國三。
先來吐槽幾點吧:
吐槽歸吐槽,改變你所不能接受的,接受你所不能改變的。
- 針對比賽的時候餓的問題,其實可以帶點大白兔奶糖進去,餓了就吃幾個。
- 編輯器的問題這確實是我的疏忽,應該比賽前一周就要換成賽用編輯器提前熟練,但記事本這個我是真的懵了,這倒也沒必要練了,知道就行,據說有些公司面試讓寫代碼的時候給的就是記事本。
- 文檔問題,這就只能看自己了,要是Python基礎好,不需要查文檔的那就無所謂了,要是英語基礎好能看懂文檔的那也無所謂了,要是Python基礎和英語基礎都不好的,抓緊補吧,孬好把一個基礎打好。
吐槽完了之后,再回答幾個問題,有粉絲私信也有學弟學妹問的,總結下來就是:
在回答問題之前,先放一個我們工作室的學習路線:http://alexking.site/learn,待會說的內容在這里都有涉及。
1. 怎么學算法?
算法是一個超脫于編程語言的存在(當然你需要先學一門編程語言),它更多的是一種思維方式,比較類似于智力題或者數學題,所以學習算法和學習數學的套路是一樣的,除了智力超群的大佬存在之外,小白更多的是通過刷題來積累經驗。
一開始可以先從簡單的題目入手,就拿藍橋杯舉例,可以先去把歷年真題中,省賽的第一二題做了,大多都是簽到題,沒有涉及到算法和數據結構,一方面感受一下真題,另一方面把自己的語言基礎打牢固,熟悉各種API操作。
接下來就要系統的學習算法和數據結構了,這個階段看書學習會比較好,而且有很多優秀的參考書籍。
C組推薦《信息學奧賽一本通》
B組推薦《挑戰程序設計競賽》
A組推薦《算法競賽入門經典》
基本上把書看下來之后就差不多算入門了,如果看書看不下去了也可以看看視頻,推薦一個賊牛逼的教程,左神算法,在Matrix工作室學習路線算法組的第三模塊,如果過期了可以私信我。
2. 怎么準備藍橋杯?
算法和數據結構學完之后就可以開始刷題了,準備藍橋杯無非就是刷題嘛,除去簽到題不說,至少得從遞歸開始刷吧,一般藍橋杯第三四題就是遞歸,或者是深搜,說白了也是遞歸。
一開始刷題是一個痛苦的過程,因為看書和看視頻無非就是搬磚,照本宣科把別人的代碼搬過來,但刷題就是要自己造輪子了,有個學妹問過我一個問題:“我看別人寫的代碼我都能看懂,但自己就是想不到,寫不出來。”
這種情況我之前也遇到過,一看都懂,一寫就廢,在練遞歸的時候尤為明顯,一道題怎么想都想不出來,但一搜題解,看兩眼就恍然大悟,痛恨自己這么簡單怎么就沒想到呢,然后關掉題解開始自己寫,寫完之后還是跑不出來,心想不可能啊,改來改去還是不行,萬般無奈只能再次打開了題解,一行一行的對比發現沒啥不一樣啊,不就是變量名我改了一下嗎,百思不得其解之后終于放棄治療,算了,復制過來能運行就行,起碼思路我看懂了。
我相信很多人在學算法的時候都會經歷這么一個過程,并且大部分人都倒在了這里,之前擔任算法組組長的時候跟組員就聊過這個,幾個女生表示:這個過程太讓人挫敗了,感覺自己不適合學算法。
確實,這一段路就像一個大沼澤,怎么都走不出去,要想挺過這個階段最重要的就是要有信心和毅力,腳踏實地的刷題,一道題花的時間再長也沒關系,只要你掌握了就好,你刷的每一道題就是成功路上的一塊磚,一小步一小步的往前走,總有一天能夠走出泥潭。
3. 哪里有真題?
藍橋杯官網的練習系統其實是有真題的,但是比較少,并且都是編程大題,推薦這些題目在最后比賽前一周用來刷,體驗一下評測系統的標準和輸入輸出處理。
那真正的歷年真題歸檔呢,可以去我的GitHub算法倉庫里找,這里有我整理好的每年真題,省賽國賽各個組別都有,我做過的題目也會提供一份代碼,僅供參考,后續我會配備各種語言的題解和代碼,也歡迎大家Star和Pull Requests。
4. 什么時候開始刷真題?
藍橋杯的真題還是蠻多的,我們來算一下,省賽10道題,以前國賽6道題,現在也是10道題,咱們也按10道題來算,那就是20道題,不算今年新開的Python,C/C++和Java各分ABC三組,那就是60道題,除去重復的題目,然后再加上藍橋杯官網的練習系統試題集和其它的拓展題,五年真題的話也差不多300道,與其說真題刷一道就少一道,不如說你能刷完再說吧。
所以,如果你要準備藍橋杯的話,也不用找其它的題目去練了,直接刷真題就行了,足夠,管飽。
至于到底要刷那個組別的題,建議是搞一個級別的,比如你報名的是C組,那你在入門的時候可以刷C組的題,比賽前一個月開始刷B組的題,以此類推,B組刷A組的,A組刷研究生的,研究生刷ACM的,這樣真正比賽的時候再看自己組的題,那就是降維打擊了。
省賽每個組別設置一、二、三等獎,比例分別為10%、20%、30%,總比例為實際參賽人數的60%,零分卷不得獎。省賽一等獎選手獲得直接進入全國總決賽資格。國賽根據相應組別分別設立特、一、二、三等獎及優秀獎。在決賽獎項設置中,每個組別設置特等獎1名,一等獎不高于5%,二等獎占20%,三等獎不低于25%,優秀獎不超過50%, 零分卷不得獎。
所以省賽差不多做出來四五道題就是一等獎的水平了,國賽做出來四五道題差不多是二等獎,歷年藍橋杯的真題要是都能做完我估計那妥妥的是國一甚至國特。
5. 小白參加哪個組比較合適?
軟件類比賽學生以個人為單位參賽,比賽科目包括C/C++程序設計、Java軟件開發、Python程序設計,答題形式為閉卷答題。985、211本科生只能報大學A組,所有院校研究生只能報大學A組,其它院校本科生可自行選擇報大學A組或大學B組,高職高專院校可報大學C組或自行選擇報任意組別。
所以首先要根據自己的學校水平選擇相應的組別,建議本科大一零基礎的同學可以報B組或者C組,大二有基礎的同學可以報A組。
其次是編程語言的選擇,C和C++是在一起的,一般都是C++(string和STL比較香),但是語言的學習周期比較長,沒有基礎的話光學C語言就得一個多月,再把C++看看又得小半個月過去了,然后還得看算法和數據結構,最后還得刷題,總的來說除非你又C/C++的語言基礎,不然小白而且時間緊的話C/C++組不是一個明智的選擇。不過C/C++確實適合用來學算法,很多教材和題解都是用C/C++來實現的,如果時間可以的話,還是建議用C/C++來學算法。
Python和Java的話就差不多了,Python的入門要比Java簡單一點,但用Python來做算法時間復雜度不好估計,直接使用封裝好的方法很容易導致超時,所以如果不是特別鐘愛Python的話建議還是用Java,并且Python組的比賽還不是特別完善,期待明年會更好。
好了,今天的分享就到這里,這是我第二次參加藍橋杯了,因為實習工作和準備其它的比賽導致沒有全身心投入到藍橋杯中,還是比較遺憾的,期待明年能拿到更好的成績吧。
總結
以上是生活随笔為你收集整理的第十一届蓝桥杯赛后总结 —— 两年征战蓝桥,惜败来年再战。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 134. Gas Station 加油站
- 下一篇: Vue+G2:Please specif