CSP-S2024 遊記
停課訓練
每天模擬賽都 100pts 起掛,What should I do?
10.25
車上借同房的大神的運動手環玩飛翔的小鳥,玩到 88 分遺憾去世。旁邊有大神在玩開心消消樂,嘗試索要失敗。
晚上到酒店了。被一個神秘大媽插隊了。
大神在玩 qq 小程式,我沒帶任何裝置只能無奈觀戰,看起來很好玩。
嘗試透過大神手機的人臉識別,居然一次就成功了。嘗試刪掉某張唐氏圖片,無奈大神注意力驚人,很快就被發現了,遺憾被阻止,破防了。
晚上顯然是不會按時睡覺的,大神說要看京城大師賽。嘗試投屏到房間的電視上失敗了,於是在大神的電腦上看。
11:00 就睡了,應該不是很晚吧。
10.26
上午
7:30 被大神手機的鬧鐘吵醒了,但是大神沒醒,於是叫醒他。嘗試再睡一會被大神阻止。
早上在會議室自習,周圍的人都在划水,可是我只帶了算階。嘗試索要一部手機艱難成功,打了一把模擬宇宙就下了。接下來一直看別人划水。注意到 zjh 划水被 zq 抓了。感覺很快就過去了。午飯一般。
中午原定是要睡覺的,但是不小心開啟了電視。看了 4 集喜羊羊。感覺很快就過去了。
下午
進場帶了點零食,坐下後發現沒拿水,有點唐。
提前 20min 就能操作電腦了,嘗試使用 VSCode 失敗,無奈使用紅 Dev。記得去年因為這個玩意的 Ctrl+Z 直接破防了,希望今年不會出事。打好預設源,開始報解壓密碼了。輸了 5 次才對,怎麼回事呢。
開場注意到 T2 時限有 2s,感覺要卡常,有點慌。
大致掃一眼四題題面,T1T3 挺短的,T2T4 感覺很閱讀理解。嘗試順序開題。
T1 感覺很水吧,直接開寫。樣例掛了?
無語了,這種唐題還會寫出假做法。改成一個 multiset,直接過樣例了。此時 20min。
T2 怎麼還有物理啊,還好前幾天剛補過加速度。閱讀一遍題面,居然在最後給公式了,大致思考一下發現 CCF 沒有騙我。注意到每輛車被檢測到超速的測速儀都是一個連續段,顯然可以二分找出來,那麼第一問就直接做完了。
考慮第二問實際上是一個什麼問題,給定若干個區間,要求每個區間至少放一個點。前幾天做了一道長的像的題,直接差分約束。對放不放測速儀的 01 陣列做個字首和,那麼 \(s_r-s_{l-1}\ge 1\)。再加上 \(s_i-s_{i-1}\ge 0\)。連邊出來邊權有 \(0\) 和 \(-1\),感覺 spfa 要被卡,再觀察觀察。發現連邊只會從編號大的連向編號小的,那麼就是一個 DAG,直接拓撲就做完了。被紅 Dev 的 Ctrl+Z 搞急眼了,調了一小會兒,大樣例開 O2 跑 2.5s,略慌。發現輸入量極大,於是寫了一個快讀,變成 0.7s 了,這不是包過嗎?此時 1h 40min。
像我這種蒟蒻就不用想著過後兩題了吧。直接開部分分。先打了 T3 爆搜,直接過了小樣例。
注意到有個很顯然的 dp,設 \(f_{i,j,k,0/1}\)表示前 \(i\) 個位置,上一個 \(0/1\) 的位置分別是 \(j,k\),這個位置是 \(0/1\)。直接打是 \(O(n^3)\) 的,稍微觀察一下,發現 \(j,k\) 中必然有一個是 \(i-1\),那麼想一想就能變成 \(O(n^2)\) 了。應該有 50pts 了,感覺一等已經穩了。此時 3h。
繼續考慮 T4 部分分。這題面也太長了吧,理解了十幾分鍾才懂。感覺無從下手,發現有個特殊性質是詢問長度全是 \(2\) 的冪,也就是說全部數字都確定了,應該直接模擬即可吧,稍微想一想應該是線性的,直接開寫,應該有 16pts 了。再看一眼,似乎 \(O(Tn^3)\) 有很多分,可是想了一會兒不會,注意到時間不多了,只能考慮爆搜了。寫寫寫,還有 7min 的時候寫完了,但是小樣例掛了。已經沒心思再調了,隨緣吧。
檢查一下。T2 會爆 int 嗎?應該最大才 2e9,爆不了一點。保險點還是開個 long long 吧。記一下位元組就離場了。
估分 \(100+100+50+16=266\)。
後記
出校門的時候跟著 czk 走,結果發現他不跟校車一起走,於是急忙返回校門口,發現學校的大部隊已經不見了。還好有個有手機的同學在旁邊,嘗試使用導航,最後在導航和老師遠端指路的幫助下成功回到酒店。
同學聽到我 T2 使用了差分約束都十分震驚,想一想發現確實只要一個經典的貪心就好了。
大家都把 T3 切了,我怎麼這麼菜。。。
大家好像都會 T4 的 40pts,我怎麼這麼菜。。。
洛谷評級橙綠藍黑,感覺線要上 200 了。
看到洛谷上 T2 有一篇差分約束的題解,猛然發現我沒有加 \(s_i-s_{i-1}\le 1\) 的限制,也就是沒有限制 01 陣列只有 01,但是感覺跑最優解本身就不可能存在不合法的情況,就當隨機掛分吧。
看到洛谷上有和我一樣少連這個限制的做法,應該能過了。