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

【總結】初征——NOIP2018遊記

前言

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

 

背景

        參加了南海區區賽,結果發揮失常,只有三等獎,痛心疾首,遂定下noip2018一等獎的目標。

 

初賽

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

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

        吃完後就去機房複習。

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

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

        14:30準時發試題,答題卷的紙質感覺有點差……

        兩個小時馬上就要過去了,結果都沒做完……只能草草蒙點內容上去。

        總的來講,今年初賽算是比較難了。

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

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

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

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

        當然最後成績出來比估分高,87pts,很接近年級最高分了,估計是蒙對的比預想的要多一些。

        gd分數線是60出頭,沒想到比去年高這麼多。

        當然,今年初賽的分數線比去年高應該是因為完善程式可以蒙,如果留空留得刁鑽一些,可能分數線會低很多。

        總而言之,今年的初賽對我來說還算是有驚無險的了。接下來就要期待我複賽的表現了。

 

複賽

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

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

        無論如何,複賽馬上就要來了,就算沒複習好也要硬著頭皮上。

        複賽前一天晚上也是住校,學校要求直接睡別人的宿舍……

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

        真是愉快的一夜呢。

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

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

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

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

        沒過多久,就來到了廣州二中。

        第一次來到這所學校,大感為什麼和我校差距這麼大……

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

        考前緊張到發抖,一直以喝水來壓驚……

        兩點多鐘到了試室,剛開始充滿激情,結果被突如其來尿意憋沒了(誰叫你之前喝那麼多水)。

        兩點二十多分進入試室,看了半天解壓密碼,才搞懂是改革開放40年……看完後去上了廁所,發現這層樓好像只有一個男廁???

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

        開考後開啟題目花了近五分鐘。下意識點開c盤裡找,一直都找不到比賽檔案,最後還是用全域性搜尋查詢檔名,才發現東西都在d盤裡,解壓密碼輸了三次才對,導致開考後五分鐘我才拿到試題……

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

        可惜今年ccf,貌似並不按常規出牌。

        t1一如既往的水,getline再遍歷一遍輸出即可。切掉後檢查了很久,差不多10min才過掉這題。

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

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

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

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

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

        寫完之後又去亂搞優化,結果不知道是不是編譯器的問題,各種莫名報錯出現。

        先是用命令列讀入會出錯,改檔案流來除錯程式很麻煩;後來又是某些函式返回值莫名其妙,當時想著應該是前面的語句導致執行出錯,只是系統沒有中斷程序而已。

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

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

        打算上廁所去放鬆心情,結果這層廁所又被人佔了?當時就是不知道可以跨樓層上廁所,只好憋著繼續考。

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

        花了30min去寫t4的暴搜和小部分剪枝,其他剪枝因為時間問題來不及加,草草除錯了一遍,看到過了兩個小樣例後隨便測了大樣例,也沒認真看時間,沒記錯的話好像用了5s多……(可能真是我記錯了)

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

        看了看窗外的黃昏,這景色就和自己的心境一樣,整個人都更崩潰了。

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

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

        18:00,比賽結束。

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

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

        t3莫名錯誤搞得我很不是滋味,就因為它,這次我能否拿一等還是很懸。

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

這次考不好的原因,最主要當然是我的實力不夠強,特別是dp需要加強;其次搜尋和貪心的話,因為騙分肯定會用到,所以也需要再去提高;還有最近新學的知識需要鞏固的。

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

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

算了,就這樣吧。    


 

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

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

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


 

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

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


 

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


 

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

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


 

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

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

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

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

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


 

在晚上得知了自己拿了一等獎,雖然這已經是不出所料的了。gd省一215pts,有點水了。

只看普及組的話,那我這次是校rank5,市rank9,省rank27,國rank183。

雖然對於我的真實水平來說,這次成績是有點低了,但畢竟還是有一等獎而且是300+,也沒有多少遺憾了。

總的來講,noip2018已經基本結束了,讓我們noip2019再見!