前言
應教練要求而寫的,於是就咕咕了很長時間,基本上都是“流水賬”。
Day0
上午提前在學校門口集合,等其他人來的時候想上廁所於是溜進學校上廁所,出校門的時候還被保安攔住,解釋了好一大通才被放走。
晚上的時候出門吃飯,此時選擇恐懼症發作,最終一號人決定吃肯德基。(然后因為同學不喝冰水於是用可樂換來了喜茶)
吃完晚飯一直頹頹頹,最后發奮圖強,拿出OI書出來看了看《算法競賽進階指南》,發現之前水過的一道最短路題能用bfs跑得更快,研究了一下有什么略有擴展的bfs,發現了個不那么顯然但是也挺簡單的雙端隊列bfs,還有書上寫了個“堆優化bfs”,仔細想了想發現這個東西不就是Dijkstra嗎。
睡覺,並聽室友對我如何練體育的建議。
Day1
來到比賽現場,場地很正式,設計的主題圖案也很好看。
開場前毒奶:這種比賽不大可能考多項式啥的科技。(此處埋下伏筆)
快進到比賽
剛坐下位置,坐在我們左邊的來自淄博實驗中學的隊伍問我:“請問您是do_while_true嗎”
一臉震驚的答應說我就是,然后開始了傳統藝能互相膜拜。
我心想我在山東有這么有名嗎?后來發現是因為經常水山東學生群所以被認出來了。
比賽前工作人員說正常比賽只能一個電腦寫代碼交代碼,但是這里給兩台電腦,都可以寫代碼,但交代碼只能一個電腦登賬號交了。
隊友(對我說):“那為什么不能兩個電腦都登上賬號交代碼呢”
比賽開始發現確實能。
8:00開題,我大略瀏覽了一下題面共有八題,隊友開題就攻T1當場出滿分做法,然而直到結束我們也沒把它寫了。
發現T6的名字是“基礎卷積練習題”,我頓時心肺停止尋思着咋就考多項式了,仔細一看發現是求一個式子,再仔細一看發現我做過,是道把解題突破口放在數據范圍中的詐騙題。
然后就開寫,交上去發現60分RE,左調右調,沒發現哪里數組越界,這個時候隊友把T8過了。
然后就開始寫其他題的暴力,后來回來調T6的時候發現復雜度寫假了,改了一下就過了,到此我才發現評測結果反饋有問題,會把TLE,MLE等錯誤反饋成RE。
T3是個看起來很組合數學題,想了很久還是只會20分的dp,發現別的隊過了50分,研究了一下部分分發現只有20,60,100這三檔,當場迷惑,后來發現他們是優化了優化把同樣復雜度的卡進了50分。
T7看一眼覺得很貪心,想了想發現連最低檔的分也不會,是我們唯一一道零分的題目。
大概在10:00~11:00的時候我們領先第二名200+分在第一名,后來淄博實驗的隊伍切掉T2T8開始步步緊逼,分數差距越來越小,第一的寶座岌岌可危。
這個時候才想起來有個T1,趕緊把70分的暴力寫了。
大概在11:30+的時候淄博實驗超過了我們,領先大概20~30分。
我回去攻T4大模擬,發現這個模擬挺簡單,封裝一下時間和鍾表指針夾角之間的轉換,過了樣例,交上去只能拿60分,后面的點一直WA,然后就開始調調調。
后來隊友把死磕大模擬的我拉過來一塊想T2,連續想了幾個做法都假掉了,同樣也是最低檔部分分不會寫。之后就開始猜數據,發現有一個點答案是3,有一個點答案是4。最后還是靠我多年騙分經驗,判斷輸入第三個數的奇偶性分開輸出3,4,騙走了20分。
離結束還有30min左右,也就是12:00前后,發現這個比賽不封榜。我瀏覽了一遍全局,基本上能寫的分都寫了,除了T1隊友開場就秒但是一直沒寫的巨麻煩線段樹滿分做法,以及T4沒調成滿分的大模擬。
看了一眼榜單,只比第二名淄博實驗隊高5分。
接下來就是整場比賽最刺激之處了,我果斷選擇藏題,故意把T4的60分交成0分,這時我們隊變成第二名,比第一名少55分,但是實際上我們藏了60分沒交。
這個時候淄博實驗的第一題還是5分,一直沒搞掉70分的無腦暴力,一旦他們寫出來那70分我們隊一定會與第一失之交臂。
然后,然后,他們躺在椅子上開始休息了(wwwwwww)。
最后的30分鍾我一直在調T4,一直沒調出來,淄博實驗隊的一名隊員也坐起來開始寫題。然后我啥也沒寫出來,他們也是啥也沒寫出來。
離結束還有3分鍾,我把藏的題交了上去,翻身成第一。此時淄博實驗隊已無力回天,我們以5分差距險勝。
整場比賽下來似乎像兩個隊伍的比賽,事實上也是這樣,第一400分,第二395分,第三名就斷崖式地掉到了140分。
但是此行也不虧,回顧全局,T6一眼看出通過數不超過100的LOJ原題似乎是我整場最亮眼的表現,然而也沒有立即滿分,而是出了一個小錯誤導致過了一個小時才滿分。回去看了一眼,發現那道題我根本沒做過,當時只是用嘴巴胡了一遍,嘴巴做題確實能使得見到題多、廣,但是不寫一遍的話就不會注意到一些自己實現上可能出現問題的小細節。
最后的藏題讓我感受到了這場比賽的刺激,賽后也和淄博實驗的兩位同學交到了朋友,棋逢對手的感覺真的是無與倫比的快樂。
Day2
回家后在LA群問了一下比賽的T3(那道看起來很組合數學題)和T7(唯一一道爆零題)的做法。
T3是計數入門題,算個多項式快速冪即可,然而考場上一直在想dp,雖然我不會多項式快速冪但是隊友能寫出來,感覺還是虧了,組合對象的轉化十分的淺顯,答案也是一步就能得到。
T5 EI回答我說是 \(\mathcal{O}(n^3)\) 的dp用卷積優化到 \(\mathcal{O}(n^2\log n)\),有很多細節需要商酌,不過大體思路是這樣。感覺這樣的題即使想不到用卷積優化也至少要想出來 \(n^3\) 的dp,但還是技術差,沒有想到這個dp。
考前信誓旦旦地說絕對沒有多項式,結果回來問了倆題都是多項式題......
下午的時候學校考初中組的回來了,yhy說考了我跟他說過的題,也是LOJ上的原題,但是他忘了怎么做了。我去LOJ上看了一眼,只有7個人做過。看來做沒人做的野題還是比較有用的嗎(笑)。
附圖:

