我和藍橋杯的那兩年
- 2021 年 1 月 12 日
- 筆記
首發公眾號:bigsai
文章已收錄在 全網都在關注的數據結構與算法學習倉庫 歡迎star
前言
有很多事情在最初的時候是令人最難忘的,無論是學習還是生活的點點滴滴,追憶起那些最初的場景,既美好又有點失落,美好是因為那種懵懂而摸索的進步和得知確實很難得,而些許失落是因為一晃都過去那麼久啦,那時候的地點、人和事都已很難重溫。
前幾天翻空間說說發現母校的師弟師妹們都在報名第十二屆藍橋杯大賽,走在寒風颼颼的路上,勾起本科生涯那段寒天與藍橋杯的故事。記得剛上大一時候不久,老師問班上同學們有什麼目標,有幾個同學回答了我記得很清楚,一個說想考研,還有說想進BAT,還有一個同學說想參加競賽拿獎。那是我第一次知道算法競賽的存在。而我自己本科開始學算法時候不是為了進大廠、為了考研,那時候啥也不懂就是因為要參加藍橋杯比賽。
我們學校是雙非,大部分人要麼考研要麼搞開發,專註算法的不是很多,更多的還是帶着學。我本科學校對藍橋杯還是挺看重的,並不是個人直接報名,而是參加校賽之後得獎後然後學校統一安排報名,所以第一道坎就是過校賽。
第一次止步校賽
第一次準備比賽的時候,那時候剛上大二,因為在大一基本都是玩過來的,到了大二距離校賽前一段時間。我的舍友W找我問我是要參加藍橋杯的校賽嘛,我跟他說是的然後他說可以一起準備。因為咱兩沒有參加協會、也不認識啥這方面有啥天賦的人,所以只能黑燈瞎摸索。開始了第一次藍橋杯的探尋之旅。
然後那個時候完全是小白從0開始,我們倆從協會群里找到幾年曆年試題以及一些資料,然後開始研究。我記得很清楚的那時候練習一些啥求素數、進制轉換 等等之類的題。那個時候這種題對我們X小白來說已經很有挑戰啦。然後後面的編程題更是讀不懂不知道怎麼做啊,也沒測試樣例只有題目的一兩個樣例。但是哪個時候,學會了一個新的東西:回溯算法 。回溯也稱為暴力,我和w花了好幾天研究回溯算法,剛開始也搞不懂遞歸,更何況帶着邏輯的回溯算法,把回溯算法硬啃之後我兩發現:咦,這題好像可以暴力破解哎!當然,雖然用暴力能夠求解出一部分問題,但是實質上暴力只能過一部分樣例。
當然感覺良好,到參加校賽那天和想像的不太一樣,第一次和那麼多人一起參加這樣比賽,大部分是cpp我用的是Java學校的機器非常老舊,跑個Java程序就會非常卡,遇到那些題突然就慌了,記得很清楚的一道需要用long類型表示的數字我硬是在那邊糾結為啥用int表示不出來,那時候編程素養其實還真的很欠火候,天氣涼涼,結果校賽也是很遺憾的涼了。當然W舍友也涼了,我們決定寒假和來年要好好準備。
第二次終去北京
在第一次落敗第二年的春天,我和W舍友就在杭電上刷題準備下一次的藍橋杯,從基礎到字符串,再到貪心、bfs、dfs以及其他。快到暑假的時候Y同學加入到我們,那時候我們三暑假就會一起刷題討論題,共同進步。入秋之後我們專業幾個報名的還開了一個藍橋杯校選拔賽互助小隊一起準備,那時候快校賽時候發現《將夜Ⅰ》超級好看哈哈在暖暖被窩裡熬夜追了一晚,第二天上午還不是很清醒的就去參加比賽了。經過不少時間的準備當然也是容易通過校賽(畢竟我們雙非強者有限)。而我們專業也有好多人通過校賽,可以一起省賽一日游,終於能滿一個小心愿了,不管怎麼樣也去體驗一波。
在寒假期間我們也做了一些準備,搜集了一些算法資料和視頻以及藍橋杯試題,有個小夥伴還買了歷年試題講解,假期有時我正在被窩裡打王者Y同學就偶爾給我來一題強行拖我一下,想想那段無憂無慮的日子還是很美好的。在三月份很幸運的我們專業又是很多人晉級國賽,我們幾個晉級的就很期待去北京。
在五月份天氣變暖起來,我們一行在J老師的帶領下出行去北京,這是我第一次坐高鐵去那麼遠的地方,也是第一次去北京。途徑南京、徐州、濟南、天津這些大站都拿起手機拍一拍。到了北京在J老師的帶領下我們就在北方工業大學考點附近一個酒店。老師允許我們小範圍活動我們專業幾個人便在附近商場一起吃了頓自助餐,可能是咱們鄉下人居多很多人(我)沒來過北京走兩步拍兩下、發個朋友圈,跟家裡說我來北京啦!
而第二天比賽時候,也算是被國賽血虐了一把。我參與的那場國賽的難度和競爭力比省賽高了一大截。如果能拿個國一,我覺得還是很厲害的。當初還打算北京轉轉但由於時間緊,服從安排就老實獃著,不過踏過北京的土地也很滿足了又多去過一個大城市!
談談藍橋杯
有些人可能很少參加比賽,所以對藍橋杯不太了解。
我打藍橋杯的時候,還有一些打ACM的同學沒有參與藍橋杯,但現在就不同了。這些年隨着藍橋杯大賽的水準和規模慢慢提高,有很多雙一流學校的學生參加,也吸引了很多ACMer參與,看到前面拿獎的基本都是好學校,專業頂尖選手越來越多。大賽選手與ACM參賽選手重疊度逐年增加,多屆藍橋杯國賽一等獎、二等獎選手同時是ACM的金牌獲得者,可以說藍橋杯大賽儼然是一塊大佬試金石。
講了這麼多,我應該幫你捋一捋介紹一下,搞清自身定位,當然可能有些偏頗僅供參考哈!
藍橋杯 VS ACM:
屬性 | 藍橋杯 | ACM |
---|---|---|
隊伍形式 | 個人賽 | 三人團體 |
賽制 | OI | ACM |
分組 | 研究生組、A組、B組、C組 | 各學校統一競爭 |
時長 | 4小時 | 5小時 |
題目類型 | 填空+編程題 | 編程題 |
官網 | dasai.lanqiao.cn | 無 |
藍橋杯:
藍橋杯全國軟件和信息技術專業人才大賽是由工業和信息化部人才交流中心舉辦的全國性IT學科賽事。全國1200餘所高校參賽,累計參賽人數超過40萬人。2020年,藍橋杯大賽被列入中國高等教育學會發佈的「全國普通高校學科競賽排行榜」,是高校教育教學改革和創新人才培養的重要競賽項目。
大賽共包括三個競賽組別,個人賽-軟件類,個人賽-電子類,以及視覺藝術大賽。其中個人賽-軟件類的比賽科目包括C/C++程序設計、Java軟件開發、Python程序設計。今年第十二屆藍橋杯報名時間是2020年12月-2021年3月,4月省賽,5月國賽。
ACM:
國際大學生程序設計競賽(英文全稱:International Collegiate Programming Contest(簡稱ICPC))是由國際計算機協會(ACM)主辦的,一項旨在展示大學生創新能力、團隊精神和在壓力下編寫程序、分析和解決問題能力的年度競賽。經過近40年的發展,ACM國際大學生程序設計競賽已經發展成為全球最具影響力的大學生程序設計競賽。賽事目前由方正集團贊助。ACM一般區域賽在秋季,各個區域賽時間不同,每個隊只能參加同一年兩場區域賽。
藍橋杯是個人賽,個人賽軟件類分為:C/C++大學研究生組,C/C++大學A組,C/C++大學B組,C/C++大學C組,Java大學研究生組,Java大學A組,Java大學B組,Java大學C組,Python大學組共9個組別。研究生只能報研究生組。一本院校(985、211)本科生只能報大學A組以上組別。其它本科院校本科生可報大學B組及以上組別。其它高職、高專院校可自行選擇報任意組別。每位選手只能申請參加其中一個組別的競賽。各個組別單獨評獎。藍橋杯的分組競賽方式,讓平時被「學霸」打壓的普通學生,也能有獲得感,有進步感,給更多學生指引了努力的方向。
在比賽的時候藍橋杯是OI賽制,也就是提交答案之後賽後評判,根據通過的樣例數量給分。這樣的賽制,放寬了對於編程速度的要求,對於大部分選手來說更友好一點,可以更從容地解決問題,但也可能有些錯誤被疏忽不知道已經錯了。
而ACM是團體賽,需要三個人協力解答問題,想要拿到好的成績隊友當然也相當關鍵,各個學校強弱校都統一競爭,頭部榜基本被名校和ACM強校霸榜。競賽是ACM制,也就是當場評測,只能知道通過(通過會升起一個氣球看周圍氣球數就知道其他隊A了多少題),或者錯誤(WA、RE、TLE等),出錯需要及時修改答案。只有完全通過才會給分,對算法要求是比較高的。
藍橋杯適合各個層次的人,特別是給了很多普通本科和高職高專選手接觸更多算法編程的機會,有一定的普及性,為廣大雙非和專科院校的學生提供了更廣闊的舞台。現在很多程序比賽,都屬於拔高性質。很多初級階段的計算機相關專業的學生,無法參加這類拔高性質的比賽,但是從數量上看,他們才是未來程序界的主力軍,他們應該接觸更多的算法知識,提升自身水平。藍橋杯的試題以算法和數據結構為主,和各種國際國內知名的程序設計比賽相比,其專業水平絕對不輸。
ACM(ICPC)個人覺得是更適合一些算法高端玩家,老玩家(高中就打OI)、傳統ACM強校(有氛圍、能湊齊隊友)、高付出的一個比賽,當然也適合對它熱愛的同學,當然,這種比賽偏一小部分人,是算法精英級別的一個比賽。當然也有很多努力幾年最後也打了個鐵(甚至爆零)也沒辦法,ACM就是個無底洞,它的樂趣在於不停的探索和AC。
當然,我的建議就是有能力、有準備、有氛圍、有熱愛去沖ACM的,趁着年輕當然沖一衝,拿個牌牌很好(和參加藍橋杯剛好也不衝突),當然這個期間也要付出非常多的努力。如果準備的比較晚了(大二無算法基礎就很難了),就不一定非要去沖ACM,因為在這個高手集群和後浪層出的時代你真的有可能會打個鐵,所以要慎重選擇。而藍橋杯感覺是全民皆宜的一個比賽,認可度在算法競賽類也很高,通過比賽大部分人也能夠進步、去證明自己。總的來說ACM是圈內難度較大,普及分佈在強校,認可度最高的一個比賽,題型上來看範圍也更廣、更深。而藍橋杯則是一個算法普及度很高的比賽,題型上更側重於經典算法和常用算法(例如貪心、bfs、dfs、dp等,而數論、計算幾何等知識考查相比ACM少很多)。藍橋杯將算法普及和推廣、讓更多人參與進來,這點目前在國內做的是最好的。
藍橋杯對我(你)的意義
其實生活和學習需要一定的競爭和認可,通過這樣的競爭促進自己的進步,通過得獎或者其他成就增強自己的信心,為下一輪的學習循環做準備。當然這個過程可能並不一定一帆風順,很可能你會遇到一些挫敗和灰心,而藍橋杯相比ACM就是給了更多人這樣的機會(至少我和我身邊同學這樣)。在同一個舞台,不同人追向不同的目標,根據自己條件和身邊氛圍去向前邁進。至少我覺得在這方面藍橋杯是其他賽事無法比擬的。
如果你有ACM的機會,那麼和隊友刷題的經歷一定很難忘,如果沒有ACM機會也沒關係,可以一起備戰藍橋杯等算法比賽,找幾個隊友一起準備,討論互助,讓枯燥的東西因為競爭和幫助而變得更加有趣,也希望看到此篇的大佬都能有成,進步的路上一帆風順!也願看到此篇的後來人能有所收穫。希望你們都能去北京,也希望你們都能拿證書!
最後,附上和本校小學弟部分聊天圖,因為從我們這屆過後本科學校搬到又大又豪華的新校區,每次遇到母校小學弟都會很溫馨的給老學長拍幾張新校區圖片,實名羨慕啊!
看到這張圖,突然就是想起自己那個時候,我曾向一個學長問的問題我跟他說我好好沖藍橋杯,但事後我涼了就沒消息了,第二年才過了校賽和那個學長一起參賽。雖然我不能和小學弟一起參賽了,在這裡也希望他以及看到這篇的你們都能有個好的結果!
從室友到隊友到專業夥伴,圈子越來越大,從校選拔賽到省賽到國賽,走的越來越遠,雖然我花了很久才體驗到這段旅程,但依然很滿足那段天真的歲月。第十二屆藍橋杯大賽正在報名(報名官網://dasai.lanqiao.cn/),也希望你們都能有屬於自己的這段歲月,望加油共勉!
原創不易,bigsai請朋友們幫兩件事幫忙一下:
-
一鍵三連支持一下, 您的肯定是我創作的源源動力。
-
微信搜索「bigsai」,關注我,2021一起加油!
咱們下次再見!