NOI2020 前最后的日子
2020 年 8 月 10 日,省隊集訓 Day3,開此博客。
每個 OIer 都從這名叫“菜”的泥潭里出生,盡力擺脫這里,飛向更高更遠的天空。然而真正能展翅高飛的畢竟只是少數人,大多數則永遠無法沖破束縛,最終被埋沒在泥潭中。
顯然我沒能擺脫這片絕望的泥潭,時間卻已耗盡。盡管人生還很長,但 OI 生涯的主線已經到了終點。
就用這片博客簡單記錄一下最后這幾天吧。長短視心情,當然文筆還是一如既往的差。(開始擔心回歸文化課后的語文學習了……)
8.10
上午 ckw 模擬賽,自稱“這是你們這幾天唯一有可能 AK 的比賽”。T1、T3 是數學題,T2 是數據結構題。我做掉 T1、T3 后在 hyw 的提示下在最后一刻過掉了 T2 的大樣例。
中午回來看評測,果然 AK 是不可能的,T2 喜提 20 分。據說數據造錯了,寫對只能拿 60,可是這絲毫不影響我只配掛題的事實。hyw 1h 連寫帶調 AC,我在提示下 1.5h 過大樣例還掛,簡直天差地別。
下午聽 wqy 講課,遇到各種西伯利亞題(指惡心的輸出方案、卡精度、無理由隨機等迷惑操作),甚至有道交互題做法竟是“隨機若干個排列進行詢問,然后對這些詢問的結果退火”,大開眼界。當然也不乏令人眼前一亮的神仙題。swkdz&lyhdz 全程秒題,神仙就是不一樣。
一群人在一起,聽講課、討論、口胡,真的好有意思啊。可惜只有最后這幾個下午了。
晚上回宿舍后嘗試調掛了的 T2,發現給點分治樹的每一層都開了一棵主席樹,修改時只修改某一位置往上的層,但忘記了把其余層的根也從上一個歷史版本復制過來。冥思苦想了一小時自己為什么想不到這件事情,但顯然無濟于事。睡覺時腦海中只有四個字:無藥可救。
8.11
上午 cwbc 模擬賽,T1 大數據結構,T2 圖論,T3 是很簡單的思維題。這是我最自閉的一場,也是前 6 天唯一一次一道題都做不出的比賽。由于昨天的心態崩潰,我看了 T1 后默念一句“數據結構與我無緣”果斷放棄。但感覺后兩題更加不可做,不到 1h 就棄賽心有不甘,于是又來想了一會 T1,寫了一半發現假了,又剛了 2h T3,寫完發現假了,暴力也沒啥好打,最終零分收場。hyw 想出了 T1 的線段樹合并神仙做法,并用 1.5h 寫出 4kb 代碼過了樣例,lyhdz 寫出了三道題的正解。cwbc 說 T3 是最簡單的題,可我做了半場,依然毫無思路。
中午看評測,hyw T1 寫掛了一行代碼爆零,可總比不交題的我強無數倍。lyhdz 三題都寫掛了有點慘,但三題正解還是絕無僅有,唐爺爺 35+85+100。我只有圍觀神仙打架,質疑著自己這水平到底是怎么進的省隊。
下午 cwbc 講網絡流,也是聽得最自閉的一天,大概我不僅智商不夠,網絡流方面的套路也沒有掌握好。等回去再好好學習一下……哦不,沒有時間了。
晚上省隊統一做核酸檢測,解鎖新體驗。大家一致推選隊長 swk 先來,然后醫院真的讓 swk 先來了233333 迫害隊長真好玩。并沒有聽說的那么難受,就像醫生讓病人張大口并壓住舌頭一樣,最多在一兩秒鐘的時間里有嘔吐的感覺。
回宿舍后嘗試寫上午的 T1,先自己 yy 了線段樹合并做法,寫完且過了樣例后已是午夜,一測喜提 10 分,頓時意識到自己做法又雙叒叕從頭假到尾。兩天做 5 道題一共想了 4 次假做法,國賽現場想一次假做法就有大量的寶貴時間被耽誤,這么高的概率想假做法意味著必定涼透!反省了一下,也許是想出做法時的迫不及待導致的?水平問題就認了,心態問題還要努力克服一下啊……
8.7 前往省隊集訓;8.9 最后一場 AGC;8.11 核酸檢測;8.12 最后一場 CF;8.14 最后一場 OI 模擬賽;8.15 APIO;8.16 長沙報到……
8.12
上午 cz 模擬賽。(cz 學長賽高!)依然是三道沒啥思維難度的套路題,T1 是網絡流,后兩題數據結構。T3 是之前我給 cz 驗過的題,T1 猜了個貪心的結論省掉了網絡流,900B 代碼 A 掉了。T3 碼量不大,但我寫 25min 調 25min 依然不盡人意。剩下的時間猛剛 T2
中午看評測,T3 被卡常了,100+0+90。我的做法和正解復雜度相同但常數稍劣,加上自己寫的時候也不注意,隨手就能加的優化卻懶得加。幾乎每場比賽每道題都有人 A,而我因為數據結構水平太低又被 T2 這道數據結構題擋住了。
下午 cz 的講課內容是喜聞樂見的數據結構!很長時間以來我都不太喜歡數據結構(特別是寫重工業題),也以為數據結構題都是無聊套路題,最近才意識到其實里面有著很深的學問,可惜我也沒有時間多研究了。誰都清楚數據結構在 OI 中的重要性,如果 NOI 時被數據結構題制裁了就只能怪自己沒認真學習了。
cz: “所有數據結構都只有一行代碼”
晚上根據 hyw 的提示繼續寫昨天的 T1,問了好多這題的智障問題……
22:35,還在調試的我關掉手中的題,轉向一件更加重要的事——NOI 前最后一場 CF。
Codeforces Round #664 (Div.1),出題人是高爸等幾個中國人。曾經徘徊在 2300 上下的我絕未料到會在 OI 生涯的最后時刻淪落到這個地步。現在的我屈居紫名與橙名的交界處,曾經的紅名夢早已在那場 -205 的噩夢中化為泡影,而有關 CF 的另一個夢想——Div.1 top100,對我的水平來說也并不現實。在最后一場比賽里,我僅僅想順其自然地放手打一把,能打怎樣是怎樣——當然還是要守住橙名的底線,帶著紫名去打 NOI 怎么都說不過去。
A 題沒啥思維含量,15min wa 一發過了,看起來這場的風格相當套路。B 題題意讀了好一會,意識到這是一道沒有思維難度的題,但是碼量稍大,稍有不慎就會調上四五十分鐘。挑戰自我的時刻終于到了!我一邊敲代碼,一邊提示自己千萬要冷靜,認真思考每個細節。最后很快調了出來,碼長 1.5kb,38min 的時候 pp 了,從看題到做完一共 23min。
這時我打開排行榜,場上一共只有約 60 人過了 B,我排到 rk58!這是我歷史上在 Div.1 比賽的任何時刻達到過的最高名次。一剎那,我心中閃過一道光——或許,我今天,能夠實現 top100 的夢想?
打開 C 題,我束手無策:計算幾何?數據結構?這到底是什么?大概想過不少荒唐的思路,終于在 1h19min 的時候想到了做法,1h46min pp。這時雖然已經有 120 人過掉了 C,但是由于 B 題還有一定的速度優勢,我排在 rk79,到比賽結束時,約有 200 人過了 C,pretest 成績 rk88。
我仿佛觸及到了遙不可及的夢想——近在咫尺,只要不 FST!但誰知道我的代碼里會不會有什么鬼畜的漏洞……我一邊等 system test,一邊繼續寫昨天的 T1。AB 都已經 Accepted,C 很快就要測到,萬事俱備,只欠東風……
“Wrong answer on test 24”. 因為寫錯了兩個變量,我最終與 top100 失之交臂。不知為何我在如此關鍵的位置寫錯,18 組 pretest 竟沒有卡掉。也不能怪 pretest 水,我真的就是菜了點,就只是,菜了點。(或者運氣差了點?)
我查出了 C 的錯,并終于過掉了昨天(前天?)的 T1,此時已是凌晨兩點。最后上 CF 看結果,rk170,右上角竟還有個醒目的“You have+118! Wow!” 就這樣,我的 rating 最終定格在了 2218,比我校榜內最高 hyw (2221) 低 3,比自己的歷史最高 (2393) 低 175。
我躺在床上,想起這個 CF 賬號的起起落落。
2017 年 7 月 13 日,第 1 場比賽,Codeforces Round #424 (Div. 2),rating 1408(-92)。
2018 年 2 月 14 日,第 12 場比賽,Codeforces Round #462 (Div. 2),rating 1648(+85),首次上藍。
2019 年 2 月 23 日,第 26 場比賽,Codeforces Round #541 (Div. 2),rating 1920(+43),首次上紫,進入 Div. 1。
2020 年 1 月 5 日,第 34 場比賽,Codeforces Round #612 (Div. 1),rating 2191(+94),首次上橙。
2020 年 3 月 18 日,第 39 場比賽,Codefoces Global Round 7,rating 2393(+98),歷史最高 rating,離紅名只差 7。
2020 年 4 月 3 日,第 40 場比賽,Codeforces Round #631 (Div. 1),rating 2315(-78),遠離了紅名,從此開啟 2300 上下的苦苦掙扎。
2020 年 7 月 4 日,第 45 場比賽,Codeforces Global Round 9,rating 2120(-205),歷史最低 rank,我校歷史最高掉分紀錄,紅名希望徹底破滅。
2020 年 8 月 12 日,第 47 場、最后一場比賽,Codeforces Round #664 (Div. 1),rating 2218(+118),終結。
將來肯定還有機會,但是高一階段,NOI 前,OI 生涯的主線部分內,rating 變化曲線到此為止了。
8.13
上午 cz 模擬賽。T1 是非常簡單的 DP 題,本來口胡完后就去想 T3 了,這時發現 swk,hyw 等人都已經切了 T2,剛準備回去看一不小心看到群里有人說“三元環”,恍然大悟,于是這題又被提示了。剩下的時間除了寫了一會前兩題之外都在想 T3,不知為何就認定這題不能 \(\text{polylog}\),陷入了 \(O(n\sqrt n\log n)\) 的泥潭。結束時和他們交流了一下才意識到可以用線段樹輕松做到 \(\text{polylog}\).
看成績,還是 100+100+0,千篇一律的 rk10 左右。今天出現了省隊集訓里第一位 AK 神仙——dsq. T3 本不是什么難題,可是又成功被我想歪了。
下午 cz 繼續講數據結構,聽得越來越意識模糊。更加堅定了 NOI 要被數據結構題搞死的信念。
晚上 hyw 提前回 qd 休整了,而我還決定繼續在這里,直到最后一天。
8.14
前一天半夜就不時看到閃電擊亮了夜空,卻遲遲聽不到雷聲。上午是最后一場 OI 模擬賽,出題人是 zyb 學長。由于雨太大,且從宿舍到機房有近十分鐘的路程,神仙們竟不約而同地沒去機房,而我還是照常去打了比賽。
一進機房就聽到 zyb 一句邪魅的“你好”,比賽中很長時間 zyb 一直坐在我旁邊,還不時問我“你會不會 XXX 題”,使我倍感惶恐。T1 竟然是 \(10^5\) 大小的進制轉換,我大概 50min 的時候開始寫 \(O((\frac{n}{\log})^2\),還沒開始寫時 zyb 一句“T1 你再不會就不像話了啊”,剛寫完第一行壓位 zyb 突然一句“看起來你智商沒啥問題”,又寫完下一行 zyb 一句“但是能不能過這題就不一定了”,又寫到主體部分 zyb: “你怎么開始二重循環了啊”,搞得我徹底懵逼。“難道這不是正解嗎?”“當然不是啊……原來你也不會進制轉換”“啊這……”
好,推翻重來。我并沒有聽說過進制轉換有任何正經做法,因此挺長時間都不知所措,直到大約 9:15 發現分治 NTT 可以 \(O(n\log^2n)\) 輕松解決。這應該是正解了吧,我果斷開始寫,9:55 左右寫完,當然還是無法避免犯各種智障錯誤的結局。zyb 看我寫完后,在 5min 內問了我三次“你怎么還沒調出來”,大約 10:25 的時候發現我還在邊擦冷汗邊跑大樣例,扔下一句“好我對你徹底失去信心了”。這種無地自容的絕望的感覺……真的……難以描述……
10:35 我終于調了出來,可問題遠沒有結束。我隨手造了組極限數據,它磨磨蹭蹭地跑了 \(14s\). 瞬間傻眼,急中生智,壓位!改完后變成了 \(5s\),正準備進一步卡常時 zyb 走了過來,我跟他說了現在的情況——我的本機很慢但不知道在評測機上能不能過,他讓我發給他代碼先幫我測一下。片刻后得知 0.7s AC 了,終于長舒一口氣。
T2 又是大數據結構,T3 是智商交互。最后的時間一直在玩 T3 的 \(K=2\) 分,想出了 4 種離譜的假做法,第 3 種在寫到最后一點時恍然大悟“哦,不行!”,聽到 zyb 一聲冷笑“你也知道不行”。第 4 種寫到最后一分鐘,本以為終于能得分了,結果 zyb 指著我的代碼說“你有一種情況假了——這里”,我定睛一看發現這直接導致了整個做法從頭到尾崩塌。最后交了 \(20\) 分暴力和這個有 \(\frac{1}{8}\) 錯誤率(且能隨手卡掉)的代碼,面對 zyb 說“精心構造過保證把你卡到最劣”的交互庫。
中午冒雨往返食堂,回來看到 result,什么,\(100+0+40\)?說好的“精心構造過保證卡到最劣”呢?我這明顯錯的離譜的算法怎么多跑過去 20 分?以及我為什么 rk1 了嚶嚶嚶?冷靜一下發現只是因為 swk,tsx,lyh,smy,hyw 等一眾神仙都沒認真打,zyb 對此表示強烈不滿(:
下午講題發現 T3 是神仙的 IMO 題,zyb: “你們要看我現場切 IMO 題嗎” 又簡單講了一下 TopTree、vEB、四毛子等高深的數據結構講這個干嘛。除了被算法和數據結構中的神來之筆震撼,也被 zyb 的強震撼了,這大概真的是思維代碼能力超高知識面超廣的全能型選手。。。
8.15
APIO2020,NOI 的前奏。
上來開 T2,以為 \(q\le 5\) 是白送的,只要判連通塊內是否有環就行,寫完后發現不會編譯那種鬼畜格式的程序,大概設了半小時環境變量還無法編譯成功,索性改成了輸入輸出測樣例,過了樣例卻一直 WA0。后來意識到結論有重大漏洞,改成了判斷有環或路徑上有度數 \(\ge 3\) 的點,又 WA 之后才意識到度數 \(\ge 3\) 的點不在路徑上也行,1h30min 才過了 37pts,可正常人十幾分鐘過掉完全不是問題吧,感覺完全不在狀態。
又思考了一下感覺 T2 正解是數據結構并不可做,于是轉向 T1,讀懂題后想到 \(O(nm^2)\)、\(O(nm)\),冷靜了一會發現是 \(O(n\cdot \max f(k))\) 的,\(10^5\sqrt{4\times 10^5}\) 不虛,于是寫完了,還不到 1kb,一發過了。2h30min,100+37+0,終于開始進入狀態了. IOI 賽制令人舒適。
去看了 T3,發現 26pts 很白給,隨手寫了,3h 100+37+26=163. 然后我又一次犯了眼高手低的毛病,總想瞄準正解或者拿最高檔部分分,做到最后卻只想出一個 subtask3 的模棱兩可的做法,以及只要我成功實現了這個做法再加三四行代碼就可以過掉 subtask4。拿了 T2 的 6pts 裸暴力,還有 45min 時開始寫 T3,最后又是標準結局,漏洞百出,顆粒無收。100+43+26=169 草草離場。
出考場后問了一下旁邊的 swkdz,第一句話“我沒 AK” 第二句話“今天全場 200+”。他 A 掉了 T2,并告訴我“Kruskal 重構樹一下即可”。瞬間暈倒,我甚至在場上完全忘記了還有重構樹這個東西……?
swk 100+100+47, tsx 100+100+47, dsq 100+100+0.
NOI 的前奏,涼涼。
作為我校唯一一個參加 APIO 的選手,光榮地被全場打爆,很遺憾又給母校丟臉了。
大概率是要 Cu 了吧,可能這次的表現還挺接近真實水平的?不滿意是必然,但到此地步真的已經無話可說,畢竟冰凍三尺非一日之寒。
更何況 APIO,以及最近的一切,也都是 NOI 的鋪墊。大賽在即,心態高于一切,即便今天被踩得體無完膚,唯一的出路也只能是明天重整旗鼓,走向 NOI。
下午,和 sddz 一起從日照回青島,準備明天清晨飛往長沙。
那里,乾坤未定,尚有無窮變數。
總結
以上是生活随笔為你收集整理的NOI2020 前最后的日子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学习笔记】Dilworth 定理的构造
- 下一篇: Gym 101190D BZOJ 484