1. 程式人生 > >NOIp2018考試總結

NOIp2018考試總結

周遠哲NOIp2018考試總結

前言 

終於...考完了嗎?是的,NOIP已經考完了。

結果已不重要,但重要的是過程。

現在寫一下這次考試的總結,希望能對明年的我有所幫助。


Day1

T1:看到題目第一眼的想到的做法就是“補坑”。於是就開了個priority_queue,把坑從深到淺地填。寫完後測樣例發現差了1!於是瘋狂除錯。這一調就是40分鐘。最後還開了個連結串列,發現了n個低階錯誤,才在O(n * log n)跑了過去。結果當我考完後再去做就死活調不出來。好險!

慘痛教訓:先肉眼查錯再除錯!

PsD1T1原題好評!但是由於我之前沒有做,所以浪費了1個多小時的時間在上面。一定要做原題!

T2:一開始覺得是ex某凱的疑惑,於是想互質。結果不對,於是大力猜結論,手玩大樣例,結果發現了自己yy的結論(其實是正解)是對的!於是就開始打dfs。感覺複雜度有點假,於是加了個記憶化。嗯,能跑過了,又切一題。但是我考場就是沒想到寫dp,沒想到這是一個非常簡單的揹包。結果85分。我至今懷疑我自己是不是寫了個假的記憶化。

T3:

freopen還我20分!

好吧,其實是我自己的問題。最後一刻心態有點炸,手抖,“freopen”打成“froepen”,20分直接炸掉。開始寫這題是隻有30分鐘了,有點慌。因為一開始看題時我記得有55分的部分分很好打,感覺自己會拿不到。就先打m=1的部分分。不就是樹的直徑嗎!於是打LCA。結果不知道哪裡寫掛,莫名過不了樣例。然後考試結束,於是就沒管了。結果自己RP巨好,回去測發現自己在最後一刻改對了!好開心啊!結果RP爆int,freopen打錯了。。。

慘痛教訓:freopen!

Day1總結:

期望得分:100+100+0=200

民間得分:100+85+20=205

實際得分:100+80+0=180

還有自己RP真的太好了!T2,T3全沒打return0;結果還能過!(聽說有沒打爆0的)O(∩_∩)O

但是以後可就不能這樣了,一定要仔細仔細再仔細,不能放過一個freopen和return 0


Day2

T1:題目要求旅行順序的字典序最小,那每次選最小的節點去走不就可以了嗎?但是這樣好像是錯的,因為可能會存在一個全域性更優值。於是心生涼意。翻到最後發現圖是樹或基環樹!那這就是正確的了!基環樹就列舉刪邊,發現複雜度卡的過!想都沒想就在每一層dfs打了個priority_queue。。。然後又覺得自己切題了。。。感謝CCF的core i7+32GB,我得到了88分的好成績。程式碼巨醜,打了一個小時。

我好像鏈式前向星學傻了,正解是開鄰接表,(n=5000剛好沒問題)然後按點的編號排序。就這麼簡單。。。難怪程式碼打得又長又臭

慘痛教訓:1.想出正解後仔細考慮細節,不要有不必要的丟分 2.不要形成思維定式

T2:先把n,m<=3的表打了,然後n=2大力推理,大力猜結論。於是就yy了一個結論出來。沒管那麼多,直接打了上去。結果的確是對的,拿了50分。

T3:沒做,什麼鬼

Day2總結

期望得分:100+50+0=150

民間得分:88+50+0=138

實際得分:88+50+0=138

Day2估計是個大眾分吧。時間上還是不算很緊,狀態很好


總總結

畢竟去年是考過提高組的,今年考並不是很緊張。考試時狀態一直很好,頭腦很清醒(儘管Day1前一天0:30才睡),我很滿意了。

考試時要注意的點:

  1. 任何時候都不要放棄希望,堅持做總比等死要好,再少的部分分和暴力總比爆0好。

  2. 一定要仔細看題,看完後可能是柳暗花明又一村。

  3. 想到正解後一定得冷靜下來,不能頭腦過熱,犯下低階錯誤,造成不應該的失分

  4. 檢查程式細節

  5. 配置什麼的都是浮雲,真心用處不大

  6. 不要管其他人在幹什麼,專心致志,切忌浮躁

總之,到現在為止,NOIp已經過去了,成績並不重要,假如沒有省一,或是剛好差20分,我也可以坦然接受。目前最重要的應該是學科。至於OI,也要齊頭並進,但不是主要方向。希望迴歸之時是凱旋之時!