1. 程式人生 > >歸程(NOIP 2018 遊記)

歸程(NOIP 2018 遊記)

(本文為 Friday, November 16, 2018 補敘,非日記。)

Day 0

晚上覆習了LCA。其實下午試機時就寫了一遍,但是寫得十分不熟練,於是晚上又寫了兩遍。後面兩天的事實證明,還是樹鏈剖分比較有用,比dfs序上做RMQ有用多了……(可惜我程式碼敲不出來,只能寫寫RMQ、倍增之類的。)還複習了圖論的各種演算法,數論和組合數基本處理。

晚上宿舍里人聲鼎沸,於是去sq房裡躲了一會兒……順便和sq討論學習了Euler函式的 \(O(n\log n)\) 求法,切了一道模板題……滿懷希望!

9點多和xy聊了一會兒,感覺有flag加成應該會比較成功……

Day 1

實在想不到會出原題。看到第一題一瞬間,我欣喜的心情溢於言表……我寫過(類似思想的一道題

(Contest. C))!我會寫!高高興興A了第一題,然後測了一下大樣例,A得很徹底。我又怕爆int,另外寫了一個gen,不過在極端情況下也沒有爆,然後就放心了。

寫完第一題,心情舒暢……一看第二題,想到一個類似篩法的做法,然後開超大陣列打標記,隨意優化了一下。要用多種面額來湊,著實是挺麻煩的,於是我就想到 for 一遍看看……時間複雜度不是很好看,\(O(n^2)\) 的做法吧……然後有點虛,寫了一個gen,想不到最大資料下我的程式還是跑得飛快!我研究了半天決定就這樣了,不改了。至少有 70分,至多有 100分。如果真的CCF少爺機有i7核心,那應該可以拿滿分吧……

然後就開始看第三道題,果然不會寫。開始寫DFS,寫得很無語。我從沒想過我的搜尋會寫得如此心態爆炸,特別是在樹上做DFS搞各種遍歷,寫得相當不熟練。按理說這是基本演算法吧……然後怎麼除錯都調不好了,只能部分分作罷。

Day 1 就這樣結束了。考完之後一群人都在喊AK、AK的,想想自己只有215上下,心裡還是 a little nervous 的。

下午補覺。原本打算稍微睡睡,結果壞習慣把鬧鐘隨手關掉了……然後睡到了5點……醒來時天已經接近要黑了。

晚上吃過飯就開始複習。把考前一週的複習計劃拿出來看了看,發現真寫了不少題,現列舉如下:(不完全統計,難度不分先後)

  • BZOJ 1370 [Baltic2003] Gang
  • BZOJ 1529 [POI2005] SKA - Piggy Banks
  • BZOJ 1854 [SCOI2010] 連續攻擊遊戲
  • BZOJ 1015 [JSOI2008] 星球大戰
  • BZOJ 1202 [HNOI2005] 狡猾的商人
  • BZOJ 1715 [USACO06DEC] Wormholes
  • BZOJ 1614 [USACO07JAN] Telephone Lines
  • BZOJ 1295 [SCOI2009] 最長距離
  • BZOJ 2429 [HAOI2006] 聰明的猴子
  • BZOJ 1232 [USACO08NOV] Cheering up the Cow
  • BZOJ 1601 [USACO08OCT] Watering Hole
  • BZOJ 1050 [HAOI2006] 旅行
  • BZOJ 3479 [USACO14MAR] Watering the Fields
  • BZOJ 2330 [SCOI2011] 糖果
  • BZOJ 1529 [POI2005] SKA - Piggy Banks
  • Luogu 1052 過河
  • BZOJ 1037 [ZJOI2008] 生日聚會
  • BZOJ 2431 [HAOI2009]逆序對數列
  • BZOJ 1260 [CQOI2007] 塗色
  • BZOJ 1296 [SCOI2009] 粉刷匠
  • Luogu 1087 FBI 樹

其實刷題效率還是和那些大佬不能比,他們大概瞬間就切了吧……菜就是菜。

然後複習了線段樹和樹狀陣列。在LOJ看到,其實樹狀陣列可以實現區間修改區間查詢,不過需要運用差分的思想。肯定來不及學習了……把線段樹板子敲了一遍。

和老師研究了一下pj的題目。真難啊,雖然T4的做法很巧妙很神奇,“中序遍歷得到的DFS序上找回文串”!還現場敲了一段Fast Read。

部分大佬已經把原題大賽的三道題都找出來了。(據說是2.5道原題?)為什麼我都沒有做過?!!

Day 2

滿懷希望進入考場,又滿懷失望AFO而去……

永遠不要覺得你能翻盤,因為你根本就不知道 “盤” 是什麼樣子的。– GXZ

Day 2 的第一題就充滿惡意。只會寫暴力DFS 的我現場寫了一個bf.cpp,但是顯然,我除錯了兩個多小時才勉強調試出點像模像樣的答案。DAG上DFS的水平太差……最後證明出來我的做法是錯誤的 QAQ,然後就比賽結束了。T2我寫了所有我能手推出來的數值(其實是樣例),T3我寫了一個只能輸出 -1 的程式(和rand沒差多少,應該一分也拿不到吧)。

心態真實爆炸。剩餘一個小時的時候我突然想到以我目前所得分數,我多半是要AFO了,於是心態瞬間爆炸。不斷地告訴自己,不要後悔、不會後悔……強忍住繼續答題。

考完後真有一種難以言說的沉痛感,伴隨著我情緒化的思考……大概Day 2 能拿幾十分吧……也就只有極水的資料才能讓我騙到分數。之前考前想的所有考試策略,在這次考試通通不起作用。連暴搜都不會寫,區域性貪心解也寫不出來,談何騙分?談何玄學?只能一絲不苟地除錯那全是bug的brute force程式。

考完看到sq,她的眼眶已經紅了。或許我的眼眶也紅了?我不知道。老師問我寫得如何?我也說不清能得多少分,總之是都寫不出來,騙分也難騙……太真實了……

生活還要繼續。中午我放開肚子,還第一次嘗試了酸奶撈(以前真沒吃過,太神奇了)。踏上行裝,步上歸程。回家吧!晚上還要學習文化課。(太真實了……)

看來省一希望不大,省隊也沒什麼指望,只能考慮明年再考一遍NOIP了,但到時候的我,已經不是現在OI選手的我了……

歸程。



upd Friday, November 16, 2018: 結果回去馬上就期中考,花三天搶救了一下語、數、英、物、化、生……然後上戰場,繼續體驗心態爆炸的感覺……題目寫不完、不會寫的只能放空了……要不及格了 www……

upd Friday, November 16, 2018: 洛谷自測 100 + 95 + 15 + 72 + 20 + 0 = 302. 這個數字啊……



感謝母校。感謝一直關心和鼓勵我的教練老師。感謝OI生涯遇到的所有學長學姐,感謝並肩作戰的sq。感謝所有幫助我、支援我的人。謝謝你們!

學習OI是我寶貴的精神財富。不管是平時的練習還是競賽的過程,不管是集訓還是冬令營,我都從中收益良多。OI也造就了我,使我的心智更加成熟,從一個________轉變為一個________。(填空題,自由發揮)

不虛此行!