【心得】2022 NCPC 校內賽心得

前言

比賽前又失眠了,三點才睡著,八點半就爬起來但是卻意外的有精神。

校內賽前我們只有線上 virtual 過一次 (而且還偷懶沒有打滿 $5$ 小時),甚至到今天我才第一次見到隊友林立上本人。

有好多隊伍都有人確診或隔離沒辦法比賽,像李佳樺超可憐直接變成單刷,也讓我們晉級的機會變大?

因為沒有準備 Codebook,所以直接用 BBQube 的,但好多我們根本不會的模板 QQ。

比賽

題本連結
題解

開場我先打 default code,游承桓跟林立上先讀題目。

很快游承桓就把 pA 丟給我了,是一道簽到題。

$\text{[0:06] pA }\color{green}{\text{AC}}$

林立上從後面看,發現 pK 也是水題,要輸出謝爾賓斯基碎形。

這題是遞迴的經典題,但卡了一點時間,因為我耍笨只輸出 $N$ 行,應該要輸出 $3^N$ 行。

$\text{[0:22] pK }\color{green}{\text{AC}}$ (首殺)

還蠻意外在卡了那麼久之後還能拿到這題的首殺

游承桓發現 pD 是中國剩餘定理的裸題,所以我就很開心的從 Codebook 抄了 extgcdcrt 的模板,然後 submit。

$\text{[0:35] pD }\color{red}{\text{WA}}$

我以為是 crt 小的要放前面的問題,所以修改了之後又上傳一次。

$\text{[0:40] pD }\color{red}{\text{WA}}$

我們把 code 列印下來檢查是不是模板抄錯,也寫了暴力對拍都是對的,沒有找到 bug,所以就先跑去開 pG。

pG 一開始寫了五層的迴圈,但沒有注意到抽 $5$ 張牌是同時,與順序無關,所以以為這個方法行不通,因此跑去寫了 DP 的解,然後丟上去。

$\text{[0:45] pG }\color{red}{\text{WA}}$

一開始以為這題是 Output only,因為題本上似乎沒給範例測資,但後來有發現 judge 上面有測資可以下載,所以就稍微修改了一下然後上傳。

$\text{[0:59] pG }\color{green}{\text{AC}}$

賽後助教說 pG 的首殺跟官解都是直接用五層迴圈,顯然我在吃毒。

之後我們又開了很多題,pF 看起來是 flow,但是沒有想到要怎麼建圖。pH 是噁心的模擬題,要處理的細節蠻多的。pB 以為是奇怪的斜率優化 DP。

又過了一個小時後,我們決定把 pD 改成 __int128 試試看,雖然題目保證答案不超過 $2^{31}$ (一開始想說 long long 應該就夠了)。

$\text{[1:57] pD }\color{green}{\text{AC}}$

AC 後反而一臉矇逼?!

pH 雖然噁心,但是看起來是目前比較有機會做出來的題目,因此為了判斷 pH 的線段相交,我們從 Codebook 抄了將近 $100$ 行的模板,但是寫一寫就半放棄了,實作好噁心。

pE 可以發現對於一個連通塊 (高度相同) 他們的 spawn 值必定相同,並且一個點如果可以是 spawn 點,那麼該連通塊上所有高度比他小的的鄰居必須全部都是 spawn 點。
因此我刻了 DSU 來維護連通塊,再對高度做排序,由低往高枚舉,實作起來其實蠻乾淨的。

$\text{[2:50] pE }\color{green}{\text{AC}}$

耶,一發 AC!我們的排名也回到第 $5$ 名,第 $6$ 名跟我們 penalty 差不到 $20$ 分鐘。

這時候差不多封板了,pB 跟 pH 蠻多隊寫出來。

pB 我寫了從後面回推的 greedy,但很快被隊友發現是假解。後來林立上提出另一個 greedy,從對答案的貢獻下手。我們用這個方法試了範例測資都是對的,所以就跑去寫寫看。

$\text{[4:22] pB }\color{green}{\text{AC}}$

林立上 orz,想不到這樣就過了,難怪那麼多組比我們早寫出來,賽後題解出來也被證實這是一道水題,完全是我們想得太複雜了 (其實是古老 ABC round 的題目直接搬過來的)

剩下的時間就都拿去寫 pH 了,雖然範測有過,但是送出去後吃 WA 也沒有頭緒。賽後推測可能是因為 $K \leq 10^{18}$ 然後內積和外積都有乘法所以有可能會 overflow。

結果

AC:$6/11$
penalty:$756$
Rank $5$

結果 pF 真的是 flow,但要用到我還不會的 Konig’s Theorem。

開板後維持在 Rank $5$,第 $6$ 名的 penalty 只多我們 $30$ 分鐘,不過在開板前大概就有猜到可以晉級,因為後面沒有 $6$ 題的。

接下來 10/15 就要打 NCPC 決賽了,希望中間這段時間可以多 virtual 個幾場 (如果 NCPC 決賽不幸燒雞還有 TOPC 可以打)。


【心得】2022 NCPC 校內賽心得
https://fffelix-huang.github.io/posts/ncpc-2022-pre/
Author
老鼠
Posted on
September 18, 2022
Licensed under