Day 初賽
初賽沒啥好記的。感覺挺簡單。
Day 0
非常頹廢的一天,白天總共只寫了一道題:建造軍營,主要是在複習 tarjan 相關的東西。
本來想看看一些過去真題的,然後隨便挑了一道括號序列,不會做,還回憶起了當年 T1 都不會,兩個多小時衝 T2 沒衝出來的痛苦記憶。
晚上出去騎了騎車,然後又激情 Hypixel 起床戰爭,單挑贏了一把。
Day 1
每年 S 組都有幾個看著年紀不大的選手,感覺就彷彿看到了當年懵懂無知的自己。小學的時候學演算法競賽,躊躇滿志,而現在到了高一,也還平平無奇。
考前去紅旗連鎖購買了農夫山泉,以增加 rp。
感覺嘉祥小學還是挺整潔美麗的,電腦也還不錯。
發現 NOI Linux 下好像 vim 裡按 C-s 會寄掉,不管映沒對映???可能和 GNOME 那個終端有關吧,不知道。所以考試的時候就經常有手賤按了 C-s,然後殺掉,然後恢復,然後刪 swapfile,感覺程式碼體驗不好。而且發現 Ubuntu 中 vim 所有的臨時檔案,包括 swapfile,undo,backup,預設都是在當前目錄下的,感覺就很惱火啊,自己也忘了怎麼配置,以前在 Arch Linux 的時候都不會這樣。
開考後,A 題讀完感覺是不是讀錯了,反覆閱讀,感覺 S 組不至於這麼簡單吧,最後在快一個小時的時候才寫完了這個感覺 CF 評分 800 左右的題目。時間複雜度 ,反正能過。
然後通讀了 BCD,感覺 C 題出大模擬就很傻逼,感覺 CCF 是不是沒錢買題了。為了防止大模擬用太多時間,我還是先去想 B。先考慮了 的做法,列舉左端點,然後用個用個棧維護沒有消掉的元素,往右邊掃就行了。然後又意識到,如果一個段能被消完,要不就是去掉兩頭的剩下的是能消完的,要不就是兩個或兩個以上的段能消掉的段拼接到一起。然後就想到維護每個端點往右第一個能消完的位置,感覺還是比較自然的,復雜度 。最後寫完 B 花的時間好像和 A 差不多???然後又打了個數據生成器對拍,感覺應該不會掛分。
又來衝 C,好像我左右兩邊的選手好像都先跳了 C 去寫 D 啊。C 資料範圍非常小,,全部用 std::vector 存,直接暴力掃好像都能過的樣子。但我還是用了
std::map 來存型別資訊,複雜度 。感覺挺好寫的。
最後寫 D,不太會,打了個 和鏈的部分分就沒管了,感覺 300pts 應該還不錯吧(
最後十幾分鍾罰坐,關掉虛擬機器後總擔心自己程式碼有沒有什麼問題,對 VMWare 的共享文件夾功能表示懷疑,總忍不住各幾分鐘去看一看程式碼能不能過編譯,檔名寫沒寫錯之類的,後來索性直接比較 SHA256 了。
發現大家好像考得都挺高,有一堆 400 的。
感覺小周老師押的有點準:
今天就撿重要的,說一個:
最近幾年的CSP-J組的出題風格,在和CSP本體不斷靠近。
意思是什麼呢?
就是說,CSP-J的題,大機率會有一道技術類的模擬題。
前年 CSP-J ip 判斷,去年 CSP-J 表示式解析,今年 CSP-S 記憶體對齊,明年考什麼,【資料刪除】。
晚上和 tzq 激情 Hypixel 聯機,贏且僅贏了一把雙人起床。
Day 2
去洛谷上測,305,D 怎麼掛分了啊啊啊啊啊啊。