Written by pooh at 2025/2/28
前言
這場是跟著 Pacybwaoh 打得,Pacybwoah 我的神。
Day 1
一些廢話
2/18 打的,Pacybwoah 是猛男。
題目
賽中過程
0:00
先從 pA 開始看,感覺前 65 分都是水,剩下還要再想一下,pB 前 40 分拿個樹來亂做就好,後面感覺是 dfs 樹性質但還沒想清楚到底怎麼做,pC 就是主打一個除了暴力以外毫無頭緒的概念,大概 15 分有而以。
實際分數: 0 / 0 / 0
精神分數: 65 / 40 / 15
0:34
pA 因為一定可以貪心知道是誰配誰,所以我先隨手亂寫個根據左界的順序去排最後的結果的 code,結果交上去只有 10 分,正解應該不是長這樣,還是要好好想想怎麼做。
實際分數: 10 / 0 / 0
精神分數: 65 / 40 / 15
1:00
pA 觀察了一下以後發現首先因為左界在右界右邊的狀況貢獻的交換數是確定的,所以我們可以先把他換過來。接著就是一堆區間,每次可以交換兩個人,讓這些區間變成全部都互斥的最少步驟,那就跟排序是逆序數對那邊一樣去證,發現答案是(區間相交不包含對數) + 2 * (區間包含對數),兩個都可以用 BIT 掃描線算完。
實際分數: 10 / 0 / 0
精神分數: 100 / 40 / 15
1:36
交上去以後因為 BIT 大小開錯吃了 WA,找到以後改掉就 AC 了,開始先寫 pB 的 40 跟想 dfs tree 的性質。
實際分數: 100 / 0 / 0
精神分數: 100 / 40 / 15
2:34
寫好了隨便挑一棵樹來做的版本,因為想到之前 AC 說如果有覺得合理的唬爛也可以先寫所以順便也寫了一個每次都把圖 shuffle 然後時間剪枝的版本,但還是只有 40 分,因此決定先去想 pC。
實際分數: 100 / 40 / 0
精神分數: 100 / 40 / 15
3:14
pC 看了一下以後發現暴力分有 50 分,需要寫兩份 code,如果在其他都還沒有想法的話我可能會需要提早切喇分的時間去弄他,所以決定先去寫可以拿到 37 的那一份。
實際分數: 100 / 40 / 0
精神分數: 100 / 40 / 50
4:10
37 分有了,剩下還有 13 是好做的,pB 也沒有新的想法,所以決定既然已經到喇分的時間那就先去寫 13 分的。
實際分數: 100 / 40 / 37
精神分數: 100 / 40 / 50
4:35
13 分的寫好了,過程中 pC 有觀察到一些東西但都不知道怎麼用,倒。
實際分數: 100 / 40 / 50
精神分數: 100 / 40 / 50
檢討
pB 看解了以後發現我 dfs tree 在想的時候差一步,被我自己氣到,
pC 好像該會
最終分數 : 190
Day 2
一些廢話
這場很怪酷😔。
題目
賽中過程
0:00
看到 pA 是 output only,想了個唬爛是蓋個蝸牛,然後發現有遞增或遞減會被嗆,所以又想了一個樓梯,感覺把他們組一組會有奇效? 不知道。
pB 看完以後覺得怎麼又是非典型,然後就發現我根本知道兩個 x 跟兩個 y,那就直接蓋減法器跟加法器就好阿,寫完 pA 以後去寫。
pC 根本沒感覺,起終點在前後的感覺是拿李超去當 dp 值弄 dijkstra 但不會,而且斜率都一樣感覺一定該有其他事。
實際分數: 0 / 0 / 0
精神分數: ? / 100 / 24
因為感覺我後面不會想回去動 pA,加上之前聽 8e7 還是誰說 output only 應該要先動,所以就先去寫了蓋個蝸牛的。
1:03
蓋了蝸牛以後就拿到了 53.34 分 (yeah!),中間有些 subtask 低的很慘的感覺就是遞增或遞減,所以打算寫一下樓梯,如果分數還不錯就開溜。
實際分數: 53.34 / 0 / 0
精神分數: 53.34 + ? / 100 / 24
1:49
樓梯加上去以後到了 76.89 分,感覺有幾個 subtask 是來卡東西的但我也不想再搞了,先收手去寫 B。
實際分數: 76.89 / 0 / 0
精神分數: 76.89 / 100 / 24
3:51
pB 第一版就寫了這麼久,問題是出在我後面才發現我不能戳到空的人,所以我就自己寫了一個會把空的人處理掉的東西,中間又出 8 個 bug 搞了很久,他的 checker 也不是特別好用。 (再加上我那個時候自己沒有寫讓他的 log 可視化的東西,現在看起來是一大敗筆啊)。
交上去以後 14 分,瘋掉。
實際分數: 76.89 / 14 / 0
精神分數: 76.89 / 100 / 24
4:04
這個時候我很掙扎要不要把 pB 丟掉,然後突然想到我應該要先可視化一下,一弄就發現我減法器的 carry 寫錯,難怪出事,找到以後就 AC 了。
實際分數: 76.89 / 100 / 0
精神分數: 76.89 / 100 / 24
4:27
pC 的 Dijkstra 寫好了,交上去只有 10 分 TLE,然後我才想到 subtask 2 他是說跨越的只有 10 個不是說 id 差 10 以內,所以還要掃描縣。
實際分數: 76.89 / 100 / 10
精神分數: 76.89 / 100 / 24
4:41
加了掃描線以後 24 分就拿到了。
實際分數: 76.89 / 100 / 24
精神分數: 76.89 / 100 / 24
檢討
先寫 output only 真的是一個很不錯的選項,不會有一個不知道到底拿幾分的東西懸在那邊很可怕。
pA 官解在做的事感覺跟我差不多,但可能有一些東西要判我沒想好。
pB 就是抓到我 debug 太笨都不先做可視化,搞到我最後快到喇分時間的時候很緊張感覺很慌。
pC 則是放的時間不夠多,感覺至少該有 39。
然後我覺得我只少被 ojuz 的 output only 要自己吃檔案搞到了 20 min,倒。
最終分數 : 200.7
剛好破兩百欸。
兩天總分
總分 : 390.7
大概是 Rank 40, Silver。
該說跟上此打 IOI 比有進步嗎,也不知道,畢竟兩次排名差不多。
最大要檢討的點一個是 Day 2 pB debug 速度,我如果可以早點找到的話 pC 可能可以有到 57 的,然後就有金了。
同樣一個是 Day 1 pC 放的時間不夠多,感覺我在我覺得比較簡單的題目上放得時間比難的多太多了,導致有些其實不難的子題沒有想好。