CSP2021 J/S複賽遊記
同機房同學的:
10月3日至10月6日
學校組織S組模擬賽,但全都是原題大賽,所以每次都考了\(300+\)
10月9日
開始在機房晚上集訓,刷了一些往年複賽的題目,16日也有打月賽,打了之後比賽情況暴漲50分。
最後三天把黃道綠的模板和部分藍的模板過了一遍。
10月21日
這天是集訓的最後一天,中途教練直接黑屏肅靜,講了一些有關策略的東西:
“你就直接把電腦的桌面改了,檔案讀寫什麼的注意事項全部寫上”。
“一定要記住,不要死磕一道題。可以出去上個廁所,散散心。”
這兩句話是我記得最清楚的兩句話,也是我記得最不清楚的兩句話。
10月23日
J組(8:30~12:00)
7:50進的考場,在那坐了好久都才開始。
我坐在離大螢幕比較遠的地方,我把解壓密碼寫下來之後我隔壁讓我給他看密碼,不會算我作弊吧。
直接用30min看了一下題。
T1是送的,寫了之後還寫了暴力對拍。用了不到10min。
之後開T3,不難發現是暴力匹配,我還用類似狀壓的方式儲存每個IP串,時間複雜度\(O(n^2)\),也寫了暴力對拍,用了大概1h。
之後開T2,發現修改次數不多,就每次修改都排個序,並用一個數組存答案。
之後發現每次修改只要讓修改的數左跳或右跳就行了,優化到\(O(n\log n+Q+5000n)\)
用優化前的程式碼對拍,共用1h。
T4感覺沒啥複雜度嚴謹的做法,之後用並查集維護刪除數(用並查集代替連結串列)之後暴力刪,刪完一個就跳到下一個塊裡,如果下一個塊和這一個塊的元素一樣就一直往後跳,也寫了暴力對拍,設初始時有\(m\)
發現T4在隨機資料下好像跑得動\(200,000\),之後又試圖hack也沒超時。
最後不到半小時一直在對拍和檢查檔案。
10月三十日發現前導零判錯了,過不去0.0.0.0:00
多半要去世
估分:\(100+100+60(100)+70(100)=330(400)\)
洛谷民間資料:\(100+100+100+100=400\)
10月30日初評:\(100+100+70+80=350\)
S組(14:30~18:30)
考場要求14:00進去,但是14:20才讓我們進機房。
還是一樣用了30min看了看題。
感覺T1可能是奇怪的資料結構,T2是碼量大的區間DP,T3應該是思維題,T4不可做。
之後悲劇性的開了T2。
前一個小時把題目看成“超級括號序列不能有超過\(k\)個*
”,之後第一個樣例輸出4,直接硬調到比賽開始後1h。
之後思考T1用了10min,因為雖然想聽教練的話,但是我還是想調T2,就沒想出個所以然,用10min寫了個40分的暴力就接著做T2。
重看了T2題面才發現只是\(S\)不能有超過\(k\)個*
,之後才開始打正解。
20min後打出來了,但是第二個樣例輸出28。我就開始調。
結果考場Dev Cpp不支援除錯(不知道為什麼,上午也有這個情況),只能輸出除錯。
直接調了1h發現ABC
這個情況沒有判重,又開始寫,寫了之後發現輸出20,不知道是寫掛了還是有些重複的情況沒有判出來。
又除錯調到還有半小時結束時還沒調處來……就去把T3的40寫了,可能我很暴躁,一個dfs寫了20min。
最後10min我只能絕望地盯著T2的程式碼看著,除了檢查檔案什麼都幹不了。
最後5min我開始回憶被我拋棄的T1,居然想出正解了:用線段樹或某種資料結構算出每個飛機停第幾個廊橋,之後開個桶算答案。
出考場之後發現T2的ASBSC
也會重複……
估分:\(40+0+40+0=80\)
洛谷民間資料:\(40+0+40+0=80\)
10月30日初評:\(60+0+40+0=100\),T1多給我20分耶,不過還是沒有1=吧。
upd 11月8日:發現考場上沒看到T3的\(2n\)個數中\(1,2,\cdots,n\)每個分別出現兩次,看到之後就會做了……
總結
J組的T3或許將是我這次的敗筆,被卡掉\(30\)分,雖然我對拍了,但是我沒有拍出這個問題,這說明不能只對拍,還應該自己出資料。
S組是最大的悲劇,T2是一個大坑,而我卻要往裡跳。
最後交上去的程式碼應該去年的我也會寫,也許去年的我還能拿更高的分數。
但實際上如果我處理ASBSC
會不會過呢,所以實力其實還是不夠的。而且想到解法不能急於寫程式碼,要先在草稿紙上看看有沒有別的情況,在保證解法正確性、瞭解程式碼細節的情況下開始寫程式碼。
當然,策略也是有問題的,先把T1AC,T3拿40分之後寫T2,這樣可能心態會好些。
而且T3居然還看漏條件了……這說明要仔細看題,不能看漏題目條件。
教練的那兩句話,我真的有記住嗎……
初中的OI比賽也就差不多結束了,接下來還要中考呢,能讀我們學校高中部就最好了。
這次也不過算是一次試水吧,雖然這一年中所有學習的東西幾乎都沒在比賽中用到。
希望中考後我還能再回到機房,再次看到那些熟悉的面孔。
整理一下
- 不能只對拍,還應該自己出資料
- 想到解法不能急於寫程式碼,要先在草稿紙上看看有沒有別的情況,在保證解法正確性、瞭解程式碼細節的情況下開始寫程式碼
- 要儘可能保持良好的心態,卡在一題上可以出去散心
- 不能一直執著於一道題,學會取捨
- 要仔細看題,不能看漏題目條件