寫在前面
老年選手再次來到神大觀光旅游。
考前特地花了一天頹廢打板子,手感還行,但思維似乎跟不上了。感覺不太妙。
11.16 (Day 1)
打開題面,發現是用 tuack 造的,簡直好評。
看 T1,發現是傻逼題,於是隨便寫了個遞歸就扔了。
看 T2,讀完題后會了 \(O(n \log n)\) 的線段樹做法,但感覺 1s 跑 \(n \leq 5 \times 10^5\) 的數據有點懸,便又思考了一會兒。推出了一些性質后發現可以 \(O(n)\) 做,於是很快碼完后直接過了所有樣例,覺得很穩。
看 T3,讀完題后有了一些奇異的構造性想法,碼完之后發現已經寫了近 3KB,結果一測樣例發現做法有 bug。通過不斷的調試與改進,最終我在 11:20 左右時得出結論:我的做法是假的。此時十分自閉。還剩最后二十分鍾時,無奈只好打了暴搜。不過我之前的做法能處理鏈,於是我將其保留了下來。
於是估分 100+100+35=235,感覺結果不如去年好。
結果出考場發現 T3 得分普遍不高,心理稍微平衡了一些。
晚上在床上突然感覺我的做法似乎也能處理菊花圖的數據,於是估分變成了 260,但希望不要掛掉。
11.17 (Day 2)
還沒發密碼時,點開三個題的樣例文件夾,發現每個題都是四五個樣例,感覺情況不對勁。
打開題面,發現 T1 就是計數,模數還是 \(998244353\)。感覺情況更加不對勁。
看完 T1,發現可以容斥,之后再做一個 \(O(n^3m)\) 的 dp 就有 84 分了。又想了一下,發現 dp 狀態的其中兩維可以做差合並成一維,復雜度就可以降到 \(O(n^2m)\)。很快碼完后一遍過了所有樣例,覺得很穩。
看 T2,讀完題后只會 \(O(n^3)\) 的暴力 dp,一看分數只有 36 分,感覺情況相當不對勁。又仔細想了一會兒,推出了一些奇奇怪怪的性質,然后把 dp 的有用狀態壓了一下,發現可以跑 \(n \leq 5000\) 的數據。覺得 64 分稍微算說得過去,但對這道題仍耿耿於懷,於是准備先看 T3。
看完 T3,發現 75 分簡直白給,於是花了半個小時左右碼完部分分后測過了所有的樣例。之后,又回過頭去看 T2。
結果 T2 始終沒有什么好的想法。
期間回頭檢查 T1 時造了組大數據,發現我被卡常了,用 Linux 一測發現極限數據跑了 1.02s,並且還相當穩定,嚇得我趕快去了趟廁所然后回來卡常,在加入一些神奇的特判后,終於卡進了 0.9s。
於是估分 100+64+75=239。這樣下來,不掛分的話兩天的總分就應該是 499。希望最終會是這個結果。
12.1
炸穿。
Day1T3 居然只有 10 分,Day2T2 也掛了 4 分,於是總分只有 445 449(Day2T2 數據出鍋了差點害了我)。
果然老了。
后記
這點分在全省竟然還能 rank 12 8,感覺怪怪的。
遺憾二三事:
- Day1T3 挺可惜的,因為我的做法幾乎就是正解。
- Day2T2 考場上推出的性質已經證明了決策單調性,不過卻並沒有往那個方向想。
- Day2T3 不難,應該先開它的(雖然有點馬后炮的感覺)。