CSP 2019 游記


寫在前面

老年選手再次來到神大觀光旅游。

考前特地花了一天頹廢打板子,手感還行,但思維似乎跟不上了。感覺不太妙。

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 不難,應該先開它的(雖然有點馬后炮的感覺)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM