寫在前面
本文主要介紹藍(lán)橋杯 python組如何備賽椭蹄,文章不長砰粹,但是干貨很多糕篇!
分為比賽規(guī)則(編輯器、題型、考察范圍)、如何備賽、題型技巧三方面。
一年一度的藍(lán)橋杯又再次開始啦
我參加的是2020年的python組,本來是想著用來給保研以及獎學(xué)金加分用的
奈何由于疫情原因一拖再拖,雖然最后拿了獎桦卒,但是也沒加上分
但好歹報(bào)銷了報(bào)名費(fèi)hhh
之前也算是從零開始準(zhǔn)備的裕偿,比賽延期后因?yàn)槊τ诿嬖嚊]有在比賽前復(fù)習(xí)好,一些算法都忘了快压,最后只拿了省二脉幢,也算比較遺憾吧萎羔。
寫這篇文章是因?yàn)楫?dāng)時開始學(xué)習(xí)的時候發(fā)現(xiàn)網(wǎng)上沒有太多的經(jīng)驗(yàn)貼或者學(xué)習(xí)方法
我也走了一些彎路浪費(fèi)了時間
所以想把自己的經(jīng)驗(yàn)總結(jié)出來和大家分享交流缘眶,更多的是給一些小白提供學(xué)習(xí)的思路和入門的方式。
如有錯誤髓废,歡迎一起討論~
首先巷懈,了解下python組的規(guī)則:
這是我當(dāng)時從官網(wǎng)截的圖
如果不放心是不是有所變化可以去官網(wǎng)確認(rèn)下。
在規(guī)則里有這些要點(diǎn):
1.對編程環(huán)境的要求:
要求python3.6.5慌洪,且編輯器用的是python自帶的編輯器顶燕。所以在平時的練習(xí)中建議都用IDLE。python的下載比較簡單就不多說了蒋譬。
我前期學(xué)python用的是pycharm割岛,在代碼實(shí)時糾錯方面很方便,而python自帶的可能就不那么方便了犯助。
這里提一下IDLE的用法癣漆,打開之后ctrl+n新建python文件,然后就可以書寫代碼啦~最后可以按F5運(yùn)行剂买。
(經(jīng)過小伙伴的提醒惠爽,今年改成了3.8.6~)
2.試題形式:
試題分為填空題和編程大題癌蓖。一定要注意填空題由于是機(jī)改,所以不能填入無關(guān)內(nèi)容婚肆,像是單位或者空格一類的租副,結(jié)果一定是數(shù)字或者字符串,后面我會講填空題的小技(cong)巧(ming)较性。
編程題一般都是在編輯器運(yùn)行過后copy過去用僧,它同樣是機(jī)器評改,方法是用每個評測數(shù)據(jù)作為輸入去測試赞咙,滿足的越多得分越高责循,實(shí)在不會做就只能用if else去print有限的幾個數(shù)據(jù)了,雖然沒有太多分攀操,但是比空著好呀~
3.試題考察范圍:
在規(guī)則里明確寫了會考的范圍院仿,有計(jì)算機(jī)算法和數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)我相信相關(guān)專業(yè)應(yīng)該都接觸過學(xué)習(xí)過速和,主要是算法歹垫。
在范圍里列舉了很多算法,但是很车叻牛考必須掌握的有字符串算法排惨、排序算法、遞歸碰凶、最小生成樹之prim算法若贮、dfs算法、貪婪算法痒留、動態(tài)規(guī)劃這些谴麦,我覺得都是很重要的,在題目中去學(xué)習(xí)這些算法更好伸头。
(這些算法建議現(xiàn)在就拿紙筆記錄下來匾效,最后階段也是要主要復(fù)習(xí)的)
下面正式開始準(zhǔn)備:
1.需要一本算法書籍
一本好的算法書是很重要的,這里推薦算法競賽入門經(jīng)典和算法筆記恤磷,雖然不是python語言的面哼,但是對于理解算法很有幫助。這里直接把這兩本書分享給大家扫步。
因?yàn)楹啎蛔尫窒砟Р撸枰梢运酱廖摇?/p>
2.開始刷題
養(yǎng)成好的代碼思維,和提升寫代碼速度最好的方法就是刷題河胎,藍(lán)橋杯官網(wǎng)有練習(xí)系統(tǒng)闯袒,里面的試題是完全足夠的。
按照他的目錄循序漸進(jìn)的去做,并且多思考總結(jié)政敢,肯定會有收獲其徙。另外官網(wǎng)是沒有參考代碼的。下面是大佬整理的代碼解析:
https://blog.csdn.net/qq_31910669/article/details/103641497/
刷題的初期主要是掌握一些基礎(chǔ)的語法規(guī)則和字符串算法喷户,python的遍歷和索引都是非常方便的唾那;還包括一些簡單的函數(shù)和基礎(chǔ)庫的使用。這些都能在刷題過程中學(xué)習(xí)到褪尝。后期主要去理解和背住一些重要的復(fù)雜的算法闹获,熟練使用。
這是我當(dāng)時刷題做的部分筆記:
筆記大概有一百多道題河哑,而且如上所示昌罩,有知識點(diǎn)和我寫的代碼和解析,對初學(xué)者應(yīng)該還是比較有用的~我這里也存了2020省賽和決賽題目~有需要的旁友們可以告訴我~
嘿嘿灾馒,更新一下筆記的部分反饋~
再來講一下填空題的一些技巧:
填空題由于只看最后的答案,所以過程無論是手算遣总、用代碼跑睬罗、甚至用Excel和word都可以。
我參加的2020年省賽有一道題旭斥,用0~9這十個數(shù)字的貼紙去貼0~2020戶家庭的門牌容达,比如1017需要2個1,1個0垂券,1個7花盐。然后問你制作1到2020一共需要多少個數(shù)字2。這一題用代碼也很容易菇爪,但是用Excel就非乘阈荆快,從1用填充柄拉到2020凳宙,復(fù)制到word之后查找共有多少個2熙揍。簡直不要太爽!
另外還有一道關(guān)于日歷的題目氏涩,也是看了電腦自帶的日歷總計(jì)了下規(guī)律届囚。在Excel中也可以直接計(jì)算兩個日子相隔的天數(shù)。比如有一題2000年的1月1日是尖,是那一年的第1天意系。那么,2000年的5月4日饺汹,是那一年的第幾天蛔添?
Excel可以計(jì)算某天為星期幾:
也可以輕松算出相隔的天數(shù):(答案別忘記加1)
實(shí)在不知道代碼如何書寫的,手算也是挺好的選擇(我們當(dāng)時是自備草稿紙和筆)∽鞴總之陨囊,善用一切小技巧,為后面的大題節(jié)約時間夹攒,但必須建立在保證正確率的基礎(chǔ)上蜘醋。
寫在最后:
本文先暫時寫這么多,如果看的人多咏尝,后面有時間我會繼續(xù)補(bǔ)充噠压语,也會把視頻資料和python書籍放上來~
藍(lán)橋杯的python組剛剛推出,參加人數(shù)相對可能也沒有c和c++那么多编检,加上藍(lán)橋杯本身也比較好獲獎胎食,所以對個四五題拿省二是沒問題的,目標(biāo)是國二甚至國一就要多多練習(xí)了允懂。相信更多的人參加可能是為了加分或者其他厕怜,藍(lán)橋杯也是個比較好的選擇啦~
后期我會分享更多有關(guān)電子信息類的保研經(jīng)驗(yàn)和復(fù)習(xí)資料 以及 電子設(shè)計(jì)競賽四旋翼組備賽經(jīng)驗(yàn)貼,可以多多關(guān)注我呀蕾总!
碼字不易粥航,留個贊吧 (鞠躬)~