2021WC比賽總結反思

2022-06-29 10:54:13 字數 2833 閱讀 3071

**time:2021.2.6 8:30~13:30**

$day$ $0$

~~頹廢,全機房都在劃 pvz β版,場面真壯觀。~~

老師:lzy 你都高中了怎麼還在玩小學生玩的遊戲啊?

lzy:(笑笑不說話)~~這小學生能玩?小學生玩早就玩自閉了。~~

$day$ $1$

比賽前聽說去年 $100$ 分就可以拿到銀牌,於是想著能攻下一題就好了,實在不行再去把會的暴力打滿。

8:30,準時開啟題面。看了一會兒題面,明白了第一題的題意,於是開始在草稿紙上推性質想做法。

一會兒後,發現乙個重要性質:路徑具有傳遞性。於是想到乙個不錯的做法,當時以為是正解,就開始寫**。

終於碼完了,一測,樣例二 wa 了,然後開始分析,於是知道自己**錯了,並造了一組規模較小的hack資料,證實了我的猜想:第一題偽了。

此時已過去了大概乙個半小時,總共五小時,也就是每道題平均能做乙個小時四十分鐘,我就去看第二題了。

一看這題面:???看這樣例:???好直接棄了罷了。然後就直奔第三題了。

不得不說,第三題題面又短又好理解,但我沒想到可以把廣義斐波那契轉化成斐波那契的形式,也不知道斐波那契迴圈節不超過模數的 $6$ 倍的性質,只是覺得跟以前 cf 上一道吉老師出的斐波那契題很像,就直接開始推式子。

式子推出來了,然後發現這兩題的差別是,cf 上那題模數是確定的,但這題模數是不定的,於是就可能沒法找到乙個整數使它在模給定模數時同餘 $\sqrt5$,然後就做不下去了……

此時大概過了兩個多小時吧,而得分情況是 $0$ 分,有點小慌。於是做出乙個果斷的決定:先把暴力打滿,再去優化或想正解。

然後迅速地把第三題 $o(n^2)$ 做法 $20$ 分暴力打完,又算了算,第二題沒有問號的暴力大概有 $50$ 分,第一題認為能打到 $64$ 分。但想了想感覺第二題更穩一點,遂決定先打第二題。

第二題普遍做法好像都是先建一棵表示式樹,但我一下忘了這玩意(儘管打 csp-j2020 時還親手寫過),於是打了個遞迴函式,發現也能做(但是這種做法真的處理不了問號,血虧),然後就邊碼邊調,最後樣例三過了,自己手測幾組也沒什麼問題。

於是就想著把問號列舉一下是大於號還是小於號,這麼做時間複雜度極高,為 $o(|e|\times m\times 2^x)$,$x$ 是問號個數~~,但我想說不定能多騙一點分呢~~。不過很快也打完了。

最後做第一題,那時時間還挺充裕的,於是吃了幾個麵包,喝了一瓶牛奶。機房其他人叫 linshey 幫忙去食堂帶了午餐回來,真香(~~血虧~~。

想了想去打 $64$ 分,打著打著發現假了……然後放低複雜度要求,去打 $32$ 分,可打完發現又假了,我慶幸一開始沒有死命磕第一題,但也有點小慌。

分析了一波過不去的樣例,發現它重複經過了一些邊。好傢伙!想了一會兒還是沒想出做法,最後打了乙個時間複雜度只能通過 $32$ 分,但正確性沒***的亂搞演算法……emmmmmm,還是太菜……

最後檢查了一會兒檔名等其他東西,沒什麼問題,交上去的**也都跟最終**一樣,感覺這次有點懸。

當時估分 $[0,32]+[35,50]+20=[55,102]$,又聽學長說「今年不比去年難」,那就是比去年簡單了……於是感覺自己最壞情況沒牌,最好情況也就銅牌吧。

$day$ $2$

成績出來了,獲獎的人被公開處刑,但我覺得這樣其實挺好的。心情十分忐忑,因為銅牌線今年是 $70$,平均分 $96$,感覺很不安。

隨著獲獎選手的分數一直上公升,我的心路圖是先上公升後下降,直到獲獎選手的分數超過 $102$ 了還沒看到自己名字,我知道,我打鐵了。

linshey 巨佬 $114$ 分 $cu$ 了,chen03 巨佬 $122$ 分 $ag$ 了,果然還是自己技不如人。

後來 ccf 把所有人成績都下發了,自己最終得分:$28+0+20=48$。嗯?我第二題全掛了?第一題亂搞還拿到挺多暴力分的!有點難受。

再後來校內 oj 和洛谷上題目出來了,漫不經心地又交了一遍,也知道改變不了什麼,結果?螢幕上出現的分數為 $28+50+20=98$?!

感覺有點奇怪,但兩個**上的資料都是官方資料,又覺得有點不對勁。然而 ccf 並沒有說可以申訴,於是很尷尬,有分拿不到。

最後想了想,還是發了一封郵件給何琳老師,並且和自己教練也說明了這個情況,教練叫我去問學長。

於是去問了粉兔,巨集隊和 early,然而他們觀點都很一致,認為我某個地方 ce 了,儘管我在本機和學校的機子上都執行得好好的。

最後知道原因,是 c++ 的版本不同:正常 c++ 是 5.11 的,校內 oj 是 8.2.0 的,洛谷上應該也很高,而 ccf 那邊的 noi linux 的 c++ 版本卻是 4.8.4 的!於是我這種寫法在它那邊就 ce 了……痛失銅獎啊……

這次比賽給我帶來的教訓是:

1. 想到做法後不妨驗證下正確性再寫,不然寫出來發現假了就等於白寫了;

2. 另外,盡量不要用自己不太熟悉的寫法,儘管本地執行沒問題,但在linux系統下,可能會有意外的結果,所以比賽時寫**還是寧願寫麻煩一點,但不要因節省這一點點時間而整道題爆零;

3. 最後,這次策略安排其實還是存在一些問題,儘管這次問題並沒有暴露出來,下次應該先把題目都看一遍,再去想做法,不然有些題暴力分充裕卻因沒看題而沒拿到。

4. 不過這次比賽也有一些值得學習的地方,比如一題卡住了一會兒但沒有一直卡住,而是選擇跳過去看其他題,不像 csp 儒略日整整卡了兩個小時,不僅只拿了 $60$ 分,還導致三四兩題草草看過後時間只允許自己拿一點最樸素的暴力的分;

5. 另外,這次暴力也都打滿了,並且如果第二題在 ccf 那邊沒有 ce 的話,總分和估分還是差不多的,也就是幾乎沒有丟分;

6. 但是,就算這次拿到 $98$ 分,還是沒有 linshey 和 chen03 的實際得分高,這也說明了自己的水平還差別人挺多,以後要繼續學習沒學過的演算法,要在洛谷和 cf 上多做題。

**「no stress just gotta make myself」**

遊記 WC2021遊記

在學校的時候教練讓大家報名,本著不會也要當炮灰的原則填了報名表 放了寒假,給班主任請了假開始自己在家突擊一些完全沒有考到的新知識點,看了點歷年題覺得十分不可做,於是每天就頹頹頹 早上的開幕式很水,說好的8 00 8 30結果講了幾分鐘就沒了 截了一張 dzd 講話的圖作紀念 上來就是隨機化演算法什麼...

WC2021前日常胡話

不知不覺離noip的恐怖回憶已經過去乙個半月了,但我似乎還在whk與oi間徘徊,以至於兩邊都沒搞好,自己心態還受了影響。難得清閒,寫點心裡話出來,就沒有那麼難受了吧。初中我就一直不太很重視whk的學習,上課有的時候不是很認真,然後不太願意寫的作業就應付應付或者抄一抄就過去了。但是因為初中知識太簡單,...

2021寒假結訓比賽

w i j w j k w p i 1成立 考試要認真看題啊哥!你怎麼自動認為p i 是 p l呢。圓周上面有n個位置可以綁上細線,可以這樣把n個位置兩兩連線,然後在這個圓上產生很多的交點。就是 c n,4 csu 1980 不堪重負的樹 由於給出的是二叉樹,且是中序遍歷,所以該題可以用區間dp 列...