1. 程式人生 > 其它 >NOIP 2022 VP記

NOIP 2022 VP記

NOIP 2022 VP記

寫在前面的

複賽後接到初中生不能參加NOIP的通知,還是挺遺憾的。在此感謝教練組織了一場同樣規格的VP賽,也希望明年正式參賽能考出更好的成績。

正文

VP賽安排在下午,早上就沒去機房,在家裡複習了幾個板子,然後看了看STL的一些用法,提早吃了午飯就進校考試了。

到考場外還有15分鐘左右,由於早上沒到機房沒有準考證,靠助教說明情況憑身份證進了考場。

想起CSP時編譯器版本的鍋,先去桌面上開了安裝包,說實在的沒看懂那個壓縮包的用法,所以一直到發題都沒成功開起來5.9的DEV……所以考試還是用了紅DEV。

開題,先看T1,分別統計“C”和“F”的數量。看了看樣例說明,發現可以列舉兩個點(同列)固定,然後使用乘法原理計數。半個小時寫完,稍微造了幾組資料測了測就放一邊了。

再開T2沒玩過羊了個羊注意到題中的棧可以從頂上消,也可以從下面消,於是聯想到雙端佇列。覺得此題應該要模擬,那麼就須要k個雙端佇列。

具體怎麼做?手模了幾組數,發現了針對測試點4~6的貪心策略,再思考了十分鐘對其他測試點還是沒什麼想法,決定先寫個15分。

寫完以後掛了個對拍,去看T3

盯著T3看了20分鐘,沒什麼想法,開T4

T4看起來比T3好拿分,快速地打了棵線段樹,然後發現模數是 \(2^64\),炸 long long 了,所以出現了模零錯誤……確保開 long long 能過第一個大樣例(即有正確性)後,開始搞高精度。

高精度先寫了高精加法用於統計答案,然後又過載了大於號和減號用於取模,一通亂搞發現小樣例過了,但是大樣例寄了,初步判斷是高精加出錯了。調了半天沒調出來,此時還剩半個小時不到,就先存了個 long long 版本保證有8分,回去看 T2 的對拍。

對拍似乎沒什麼問題,至少我的程式這麼認為。我撿了一組資料手模了一下感覺不對,但是用程式判斷是正確的(兩種寫法都認為沒有問題),可能是手模錯了?不是很懂。

T2 確定能拿到15分後,再次回到沒有分數的T3,這次想到了tarjan縮點然後dp啥的,但是推轉移方程沒推出來……此時進入比賽最後10分鐘,無法在10分鐘內推完轉移方程並寫出程式,所以選擇放棄 T3。

坐著也是坐著,乾脆開著T4的高精度繼續看,愣是在比賽結束時還沒看出來錯在哪裡T^T。

InfOJ估分76+20+0+8=104。有100分了,符合預期低於預期(怎麼說也要每題都拿點分吧?)

想起那兩句名言“考試你不過T1過啥題啊?”,“你不過題你打錘子啊?”……呆。

反思

本場考試時間分配得不大行,在第二題和第四題上花了太多時間,導致最後第三題沒時間細想與實現。第一題沒有繼續追想正解,少了24分,有些可惜(做法和正解很接近)。

以後要更加註意時間安排,考試的時候別慌,多想想再寫。

寫在最後

明年將迎來第一次正式的NOIP,希望在這一年的時間裡能多鞏固鞏固基礎,再提升一下看到題時對知識點分析的敏感度。教練精選的模擬題儘量多訂正幾道,(像第四題這種原題考過不光沒訂正還一點印象都沒有真是不應該)。

繼續努力~