1. 程式人生 > >【OI】【總結】初戰NOIP——NOIP2018遊記

【OI】【總結】初戰NOIP——NOIP2018遊記

前言

從最初接觸oi到複賽結束,也已經將近有一年了。從對於程式一竅不懂到現在開始深入學習演算法,只是短短的不到一年的時間罷了。這次noip,不僅僅是我oi生涯的第一次noip,更是相當於是對我這一年的努力的一個檢驗。希望這次能取得一個好的成績吧。   

 

DAY -167

參加了oi生涯首次正式比賽,結果悲慘地爆了一題的0,一等獎變三等獎,痛心疾首,遂定下noip2018一等獎的目標。

 

DAY -67

正式開始備戰noip。

 

DAY -30~-28

這三天老師讓我們好好複習初賽,先不刷oj。然而我沒怎麼複習。。。

初賽前一天下午親手去佈置初賽考場,心情有點複雜。

考完後去學校分配的宿舍休息。然而那個宿舍的人的枕頭髒到實在讓人不敢睡下去。。。

 

DAY -27

不知道為什麼昨晚睡眠質量極其差,基本上每個小時我是有醒來的時候,到了四點多我乾脆不睡了。複習了《紅星照耀中國》,然後去機房備考。

飯堂早餐方便麵(應該是),不過也不算難吃。

這段時間我到算是比較認真地複習了。

中午去飯堂吃飯,飯堂大叔很親切地給每個同學打了四份菜,吃的我飽到想吐。但說實話還是挺感謝大叔的,可以看出來他是真心地祝福我們取得好成績。

飯後休息了一會就去考場準備了。

14:30準時發試題,答題卷感覺有點不靠譜。。。

今年初賽算是比較難了。歷史題爆炸,只能隨便蒙一個(事實證明多看官網政策很重要),數學題較為難算,算下來選擇題錯了五道,總體來講這次選擇題還是有點難。

問題求解和閱讀程式求解很水,細心一點就能拿滿分。

完善程式第一題沒認真做,看錯了一個空;第二題的演算法很難(但是空全部都可以蒙對),當時蒙得太急可能有空濛錯了,估計要扣3~12分。

晚上出答案了,估分77~83pts。

 

DAY -25~-22

這期間里老師找到了我,提前講成績告訴了給我聽。

最後成績出來比估分高,87pts,估計是蒙對的比預想的要多一些。

總體來講,今年初賽的分數線比去年高主要是因為完善程式可以蒙,如果留空留得刁鑽一些,可能gd分數線只有50左右。

 

DAY -5~0

最後一週開始瘋狂複習,文化課都沒怎麼管,這幾天作業沒全部完成過。(還好班主任沒發現)

然而複習成果貌似不怎麼樣。

總之,無論怎麼樣。複賽馬上就要來了,就算沒複習好也要硬著頭皮上。

複賽前一天晚上也是住校,枕頭還是一樣噁心。。。

 

DAY 1

凌晨三點被蚊子吵醒,打了兩個小時的蚊子,到了五點多因為勞累過度而再次睡著。

沒睡多久所以今天一整天都沒什麼精神。

飯堂早餐還是方便麵。大概七點就回到機房複習了。

考前幾小時看完了ac過的題後,寫了幾個模板,然後就上大巴出發了。

在大巴上看了會書,有種臨時抱佛腳的感覺。。。

廣州二中伙食還不錯,吃的很飽。

兩點多鐘到了試室,剛開始充滿激情,結果被尿憋沒了。

二十多分鐘進入試室,看了半天解壓密碼,才搞懂是改革開放40年。。

14:30準時開考,然後可能我這一年oi生涯裡最驚心動魄的三個半小時就到來了。

開考後開啟題目花了近五分鐘。下意識點開c盤裡找,一直都找不到比賽檔案,最後還是全域性搜尋檔名才發現東西都在d盤裡,解壓又出了一點小問題,導致一開始心情就沒有那麼好了。

按照pj的試題難度分佈慣例,我打算t1t2做一題看一題,做完後看一遍t3t4再決定做哪一題。

t1一如既往的水,getline再遍歷一遍輸出即可。當時很細心,導致在這題上浪費了一點時間。

t2大模擬,不過要注意一下精度問題以及分類討論求解,還是考細心為主。

題目有點長,儘管全部分析完再寫,也是邊寫邊改。大概寫了二十多分鐘然後測樣例,沒過,繼續改,還是沒過。最後改了快到15:20才改好,反覆檢查後才放心地去做剩下兩題。

感覺這次在前面兩題花的時間有點長了,按照這個題目難度其實三點前就能切完。我切題的能力還是有待提高。

看完後面兩題題面之後,最先想到的就是t3dp,t4除了暴搜+剪枝以外,沒有任何思路,於是決定先做t3。(其實我應該先做t4才對,不知道當時腦子怎麼就抽了。)

t3方程不好想,本來剛開始想到解法,寫到一半突然想到反例,自己hack了自己。想了半天ac做法無果,就打算換思路騙分,寫一個能拿50pts的dp。

寫完之後又弄了離散化+半個單調佇列去優化dp,結果不知道是不是編譯器的問題,各種莫名報錯出現。先是用命令列讀入會出錯,改檔案流來除錯程式很麻煩;後來又是某些函式返回值莫名其妙,當時想著應該是前面的語句導致執行出錯,只是系統沒有中斷程序而已。

一行一行程式碼註釋去測哪裡出錯,還是測不出來,只能自己亂改。

在改的過程中,下意識看了表,發現現在都已經是16:49了!無法,只好先放棄這一題。

打算上廁所去放鬆心情,結果這層好像只有一個廁所還被人霸佔了??當時就是不知道可以跨樓層上廁所。。。後面沒有緊張到尿出來真算我幸運。。

雖然上不了廁所,但我還是在廁所外面想了一會t4,只想到暴力做法,就回試室去實現了。

花了半個小時去寫t4的暴搜和剪枝,記憶化和排序處理因為時間問題來不及加,草草除錯了一遍,看到過了兩個小樣例後隨便測了大樣例,沒記錯的話好像用了5s多。。。

回頭做t3,那個時候是17:42。遺憾的是,直到考試結束還是找不到t3程式莫名re的原因在哪,來不及重構程式碼了,只好把這個八成會爆0的程式碼交上去。

看了看窗外慘黃色的天空,整個人的心態在環境的映襯下更崩潰了。

最後十分鐘監考老師提醒,才發現有考生注意事項的檔案,估計是開考的時候太急沒看到。本來想問程式存到哪裡,才發現是要放到d盤(汗)。

花了幾分鐘去檢查檔名和測能否編譯。搞完後只剩最後半分鐘,平復了一下心情,估了一下分,感覺要涼,心態更炸了。

18:00,比賽結束。

出了課室有同學來互探考得怎麼樣,我和同學說了一下我t3的情況,越說越覺得遺憾,最後還是不想說下去了。

上了返程的大巴,全程都有同學在討論t3,貌似有人想到正解了??

t3莫名錯誤搞得我很不是滋味。這次因此拿一等就有點懸了。

考後估分應該是100+100+0+0 ~ 100+100+0+40。只能坐等ccf出成績了。

這次考不好的原因,最主要當然是我的實力不夠強,特別是dp需要加強;其次搜尋和貪心的話,因為騙分肯定會用到,所以也需要再去提高;還有最近新學的知識需要鞏固的。論這次發揮自我感覺的話,只要t1t2不wa的話,就算是沒有怎麼發揮失常。

我的考場策略也不是很好,這都是因為我的經驗不足。特別是我的時間把控沒把控好,前面三題花了太多時間(尤其是t3),導致t4根本沒什麼時間去想。

要是再找一個原因的話,那絕對是有關於我的人品。莫名報錯至少浪費了我半個小時的時間在除錯查錯上,時間浪費了也就算了,這更使得我最後一個小時根本沒有一個良好的心態來想題,弄得我t3問題沒解決,t4剪枝也沒寫的很好。

算了,就這樣吧。    

 

DAY 2

早上起來去洛谷自測,總分100+100+0+100,這資料實在太水了吧。。。

休息了一天再來想昨天的比賽,感覺心情好了很多。oi生涯中的第一次noip終於過去了。如果高中繼續學下去的話,那也是隻有四年的時間打oi了。進了競賽這個圈子,收穫了很多東西,在無數dalao面前,更加能感受到自己的渺小(弱)。在那麼多從小學oi的人面前,我是毫無優勢。若達到他們的高度,我還有非常多需要學習。

這次我是帶著挑戰ak比賽的心態來參加的,t3的dp狠狠打擊了我,t4據說正解是manacher,這個演算法也是完全沒有聽過。考這麼差,明年直接參加tg肯定是不可能的,估計還得繼續打一年pj,希望NOIP2019能夠如願以償。

 

DAY 5

本來學校這個時候是在辦體藝節,結果下午被老師叫走,才知道ccf公佈選手程式了。

當時測了兩個資料,都是100+100+10+100,這資料簡直太水了。。。

 

DAY 6

又測了一個數據,結果是100+100+25+80,t4re了五個點,感覺這樣下去官方資料可能會re更多!本來心情還算好了一些,現在又慌了起來。

 

DAY 10

中午沒吃飯,趕著去機房瞭解成績,結果ccf咕了?害得我一天心情都不怎麼好。

下午上電腦課,發現ccf改為明天出成績。。。

 

DAY 11

上午被老師叫出去,原來ccf出成績了。

rp爆炸,t4居然ac了,總共是100+100+5+100 = 305(pts),在廣東省裡也算是前幾十名,應該是有一等獎了。

我現在這個水平明年參加tg還是有點懸的,這隻能看我接下來的發展速度能不能達到tg穩一等的水平了,如果沒有那我明年自然是無緣打tg,只能再守一年pj然後退役幾個月,上了高中再打tg。

說是這麼說,但要是真的這樣,其實我是有點不甘心於此的。本身我的oi生涯就不算長,明年再打pj的話就更短了。

總的來講,我現在距離pj組ak還是有一定的距離的。不僅僅是演算法實力上的差距,還有考場技巧上的差距。希望明年能夠達成ak目標!

 

DAY 30

在晚上得知了自己拿了一等獎,雖然這已經是不出所料的了。

gdpj省一分數線215,有點水了。沒想到今年獲獎比例還增加了。

總的來講,noip2018算是基本結束了,只剩下一些分發證書的善後工作了。讓我們來期待noip2019的到來。