這可能是我初中的最后一場 OI 比賽了。 —— NOIP2020 游記
啪!啪!啪!
作為一名剛經歷市內一檢的頹廢 OIer,我本已制定好寒假的老年摸魚生活。
第二天起來,“誒,三天之后是 NOIWC 啊……”
因為疫情的緣故,這次冬令營課程放在線上舉辦,我也因此獲得了參營的機會。
不過一想到我是和哪些人參加比賽后,口中只蹦出了二字:害怕。
最后,我帶着必墊底的心態,開始了冬令營生活。
2.5 比賽日
聽課日的記錄以后找時間補吧。
$7:25$ 坐車出發了。
比賽地點在 FZYZ,位於 FZ 郊區,所以路上不是很堵,大概 $7:50$ 就到了。
然后和學長一起聊天,玩 游 戲。
打開電腦,???我的電腦為什么沒有 C++?
老師:這個位置一直沒人坐,所以啥都沒有,反正 FJ 不算成績,就開網絡自己下一個吧。
我:……
$8:20$ 進了網站,之后便開始了比賽。
打開 pdf,三題時間限制都是 $1s$,空間都是 $512MB$。
三題都看了一遍,決定先寫 T3 的暴力。
T3 說是找到第一個模 $m$ 為 $0$ 的斐波那契項,有 $n$ 組數據。
算了算,找個循環節要 $m^2$,多測合計 $O(nm^2)$,對於 $n,m \le 10^3$ 豈不是直接爆炸?
不過寫了個程序拍了拍發現循環節根本跑不滿,一組數據平均不到 $0.1s$ 就算出答案了。
然后想過 $m$ 為質數的部分分,感覺不太好寫,就先放棄了,跑路看前兩題。
看到 T1,誒為什么 $32$ 分的數據范圍那么小啊,看着那么像指數級別的暴力?
看到題面,我的策略是最多走一次環,走完一條邊不立即走它的反向邊。
然后花半小時多寫完了 T1 的暴力,結果第二個樣例沒法過。
手繪了樣例,結果發現算出來的結果和我程序的錯誤答案一樣……
許久后,我才驚醒:哦,環可以不止走一次。
就好比我走完一次環,我相比走之前凈獲得一個右括號。
那么走兩次,就可以相比走之前凈獲得兩個右括號。
如果我在到達環之前缺了兩個右括號,那就可以通過走兩次環來彌補!
但是有一個嚴重的問題,如果我允許跑環過多次,即使是 $m \le 10$ 也會 TLE。
我知道為什么數據范圍那么小了……
經過多次試驗,我在程序上設置了不得在環上跑超過 3 次。
這樣可能會掛分,但也沒辦法。
看了看右下角,快兩個小時過去了,趕快看 T2。
表達式求值 + 數據結構?
第一檔分,沒有問號和括號,出題人實屬良心。
第二檔分,有括號,那不就和 CSP2020-J 的 T3 暴力差不多嗎,一起打了,合計有 $35$ 分了。
此時三個多小時過去了,我暴力也差不多打完了,然后我就剩下時間都拿來摸魚?
想了想好像不太合適,就看看哪些分可以打。
看到 T1,啊,$k=1$ 不會做,溜了溜了。
看到 T2,啊,$n,|E| \le 5000$ 好像開棧會爆空間,溜了溜了。
看到 T3,……我好像沒得溜了。
然后我就選定了 T2 的 $n=2$ 且沒有括號的分來做。
當時做題的心態就是:寫幾行代碼就腦子短路一下,最后搞出來的代碼坑坑窪窪,原本 2K 的 T2 代碼變成了 5K。
調代碼的時候心態是真的崩了,不過最后終於調出來了。
用近兩個小時的時間加了 $10$ 分,沒有白費。
大概 10 分鍾后比賽也就結束了。
預估:$32\downarrow+45+20=97\downarrow$。
2.6 出成績日
$32+45+20=97$ 竟然一分沒掛。
不過看了看總體水平,這次全體平均分接近 $90$,金銀銅線分別為 $158,118,70$。
FZYZ 有 7 人拿獎,其中有一個全省最高。