2021年CCF CCSP全国赛 赛后感想 心得 总结
以上是我比賽完發朋友圈并留下的一條評論,深圳很美,深大更美。
2021年的CCSP全國賽在深大舉辦,其實說實在的,我在去之前定下的目標就是:有分就行,若是拿獎便是天大驚喜
因為疫情原因,原定于11月舉辦,推遲到了12月15日。
而一直到12月15日仍然有很多參賽選手所處地區屬于中風險地區,導致不能來參加比賽,以及還有很多選手因為各自學校政策又或是與其他比賽考試沖突而來不了,最終導致全國賽參賽選手由2020年的一千人下降到了今年的220人左右。我感覺應該都是能拿獎的大佬才堅持來參賽,而拿獎又是按百分比的(10%金20%銀30%銅),所以今年的全國賽難度可以說是大大增加了。
那么說回比賽:
比賽那幾天發生了一些個人事情,經歷了一些思想波動,心很累。
賽前一天允許進深大考場參觀,我們團隊去了,深大很漂亮,每棟樓都裝修得很上心、有特色,學習氛圍也很好,校園里沒什么人,自習室卻坐滿了人。
賽前一晚11點左右睡的,做噩夢半夜醒了一兩次,六點半起床,七點半到了深大(滄海校區)賽場,成功坐在了我的考場座位上,座位上放了我的專屬胸牌和一個帶有CCF CNCC標志的書包,看起來挺不錯的,目前的一切看起來都是那么順利。
然后拿到系統登陸密碼,進入考試系統,wtf系統怎么跟網上說的不一樣了,也跟csp考試的虛擬機不同了,我之前用的codelite呢???看到一個vscode我知道這個可以編寫我用的C++,但是研究了一下不知道怎么編譯,好了可以開始慌了,于是一個個軟件打開來看能不能編譯CPP,好的全都不行,先深呼吸一下,努力回想之前看到同學是怎么用vscode編譯cpp的,想了一會并經過不斷嘗試還是搞懂了:
vscode編譯cpp文件方法: 先在桌面創建一個文件夾,然后在vscode里open folder,在里面創建cpp文件, 再在頂部菜單欄找debug或者run就行了,vs code是默認單文件編譯的。 各位c++選手記住了! 萬事俱備 只欠東風,隨便敲了一些代碼跑了下沒什么問題,熱身題試了下能提交就不想去做了,免得消耗我的腦力。開始發零食了,我來數一下:有兩瓶農夫山泉、兩小袋奧利奧、兩塊奧利奧長條的那種餅干、一袋雀巢速溶咖啡粉、一個一次性杯子、一個小包的潔柔紙巾、一個泡茶的紅茶茶葉包、還有個果凍粉還是啥的沒吃不記得了。可以看出我這篇是最細的ccsp全國賽攻略了吧哈哈哈。放蹆的空間不夠有點不舒服,換了幾種坐姿,凳子還行,翻了翻書,又把送的CNCC書包拿到凳子上靠著,嗯~舒服點了,回過神來,什么時候鍵盤聲這么大了?!?woc比賽原來已經開始了,時間已經9:03分了。
打開比賽列表開始看題目,前兩題都比較短各兩頁pdf,后面三題好像都是每題五六頁pdf,花了十多分鐘每題都分析了一下,覺得前兩題應該是相對簡單的(賽后才得知很多大佬第二題都是0分,第四五題拿到了挺多分數,第二題原來是言簡意賅殺人不見血嗚嗚嗚)。還記得第一題的題目開頭是:“小P來到西西比亞島旅行,玩起了合并最近數的游戲…”。我tm當時就在想,這小P是是不是瘋了,什么游戲不玩,玩這個鬼游戲。
于是我開始血戰第一題了,感覺題目不是很深,暴力破解拿到70分應該是比較容易的,但我沒有馬上寫暴力而是繼續分析,想了好幾種方法選了覺得最可行的一種(優先隊列 搭配 map為主要數據結構)(其實代碼實現過程我的思路也有改變,但這時候已經把這題大部分難點都想通了),此時好像已經10:00+了吧,但并不慌,因為我覺得我想到了不錯的對策,于是開始實現我的思路,代碼實現過程中發現題目隱藏的問題越來越多,代碼也越來越亂,沒想到很多功能需要重復利用,后來實在受不了又重新去封裝函數。
時間來到11:50,輪到我這一批去吃飯了,把我們帶到了另外一個課室領飯盒,排骨很少的排骨飯(是我吃過最差的盒飯了,后來我們老師也說深大真實摳)+幾個橘子+一罐可樂,怕肚子不舒服就沒吃橘子和可樂,那些學霸吃的很快,一坐下就猛吃(吃完的可以先回考場),我覺得我需要放松一下腦袋已經很緊繃了雖然一上午還是0分,甚至看了幾眼報紙是深圳的什么政策又改了(課室的桌子上墊著報紙吃飯)。
回到考場,繼續第一題完善我的函數封裝,繼續實現我的思路,其中想到些問題都注釋了下來,以免后面忘了。
時間來到13:00+,已經開賽4小時了,由于我之前是純C選手,近一個月才開始學習C++,對很多容器都不熟,需要不斷的在另一個文件寫程序測試哪個容器能不能按我想的用先,特別是迭代器,我幾乎沒用過,之前刷的題都是照著書敲模板就可了,這題卻需要非常靈活的運用迭代器(也可能只是我的做法需要)。
由于我對C++容器以及迭代器并不熟練,接下來的三個小時里,vs code的 invalid pointer 提示從來沒有停過,我已經裂開了!!!到底我哪里寫錯了啊,期間無數次想過 要不要換種方法這個迭代器我用不下去了啊!又或者要不要重新推翻重寫一次理順思路,代碼量已經來到了150行+。
現在是比賽開始的第七個小時,我已經接近崩潰了,還是0分,我已經在草稿紙上完完整整的用手和腦子把給出的兩個輸入用例都算了一遍了,終于功夫不負有心人有心人,
在時間到了16:30左右時,我終于修好了所有bug,測試樣例也都跑過了,松了一口氣,代碼賦值提交上去,比賽的代碼接收很快,馬上就開始running了(比csp認證快多了),我盯著屏幕,case1 ~ case4 ~ case7 ~ case 10 ~ case 13 啊怎么分數還是0,一兩秒的時間內心態已經掉到底谷,case13 ~ case16 ~ case20 ,然后 綠色底的 accept 出現在了我的屏幕上,分數變為100,啊啊啊臥槽,我交的第一發就AC了!!!原來它是跑完才出分數的和csp不同!激動得我差點叫出來,好吧已經叫出來了“yes!”還好不是太大聲,于是高高興興的去廁所了,出去時有深大的學生志愿者看到我還說:“這個人笑這么開心一看就是很高分的了”,比賽到了七個多小時才AC一題還能笑這么開心的人也只有我了,不過我水平就這樣有什么辦法呢哈哈,感受到了一絲銅牌的希望,因為聽說往年一百分基本都能拿獎。
于是按照我一開始的計劃開始猛鉆第二題
實際上我當時應該去看第四五題的,題目長就沒太敢細看,大家要注意每題都要認真分析一下, 有些題目雖然長篇大論但還是能拿到一些分數的,反而有些言簡意賅的題目可能并不容易做出來 還有提醒各位一些我比賽摸了半天才弄清的東西 C++98的標準: set容器通過迭代器 只能讀!不能寫! map容器通過迭代器 能讀鍵!能讀寫值!(鍵和值都可以是結構體) 如果你在某些編譯器跑過了以上操作,說明你用的編譯器并非絕對標準,可能編譯時有幫你自動修正代碼 當時由于我對C++并不熟悉,研究這個那個鬼容器就花了好多時間。接下來的四個多鐘里,一分都沒拿到,其間六點鐘左右吃的晚飯,就不詳細描述了。這篇博客寫得太長了,寫不動了已經哈哈哈,就大概這樣子吧。
比賽的時候有實時的排行榜可以看,所有選手都能看到,比賽結束前一個小時會封榜(封榜后分數變化仍然會影響拿獎那些),我當時100分應該是排在170左右,今年全國賽只有220人左右參加,排120左右能拿獎。賽后得知,2021年CCSP全國賽平均分44.9,我的學校團隊排名第15。
第二天去參加了CNCC
有什么問題的話可以評論
總結
以上是生活随笔為你收集整理的2021年CCF CCSP全国赛 赛后感想 心得 总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何将SpringBoot项目部署到阿里
- 下一篇: 基于linux pdftotxt工具 进