JOISC 2026

又全跟了一年,跟去年一樣紀錄一下每一題。

今年改名叫 JOI Final Stage,好像簡稱該改叫 JOIFS,但我還是比較習慣 JOISC 所以就沒改了(X

結果

  • Day1 100/42/55
  • Day2 88/18/100
  • Day3 30/100/100
  • Day4 100/13/100

總分 846,Mirror Rank 17

今年感覺就比較多強的人打,所以名次沒有像去年那麼好。不過我自己覺得我也掉了不少可以拿的分就是了。

不過今年的題目嘛…,感覺有點微妙,感覺資料結構的比重佔有點太大了,我感覺有一半的題都是偏資料結構類的題,沒很確定這樣作為選 IOI 國手的比賽到底合不合適。

Day 1

dango

資結題一號。看完大概想十分鐘就想完了,簡單到我還以為看錯題目回去重看一遍。之後就把其他題目想過一輪之後才回來寫,但沒記錯還是第一個小時就過了。

garden

資結題二號。賽中一直在嘗試想 n5000n \leq 5000 的那筆,直覺應該有很簡單的作法但我想不到,然後用 w=1w = 1 的解嘗試用 O(n2logn)O(n^2 \log n) 壓常也壓不過。後來我有想到一個整體二分+暴力蓋前綴和的作法,複雜度應該是好好的 O(n2)O(n^2) 但我寫一寫感覺有夠難寫,而且常數感覺超級胖,胖到我感覺會被卡常就沒有繼續寫跑去壓 C 了。

賽後知道解之後感覺完全是我在笨,不知道為什麼沒想到整體二分的時候直接掃描線就可以好好判了,不過那份解是 O(nlog2n)O(n \log^2 n) 應該也過不了就是了。但感覺我賽中不要想 n5000n \leq 5000 直接想滿分搞不好比較容易想出來。

multi

怪題,光是看懂題目就花了不少時間。反正 naive Borůvka 照做就有 S=10S = 10,想了一下感覺要往下壓很難就直接寫了一份,然後就花了超級久 debug,感覺大概弄到半場才拿到吧,後來又嘗試想了各種壓法但幾乎每個都在本地就掛了,後來只有多在 wi220w_i \leq 2^{20} 那筆亂壓一通多拿到一點分數。

賽後才知道這個設定在 TCS 是一個還算經典的 CONGEST model,有點壞的感覺。

Day 2

casino

看完題目只覺得 8×88 \times 8 很小所以應該可以用 nogo 的作法亂分成幾塊 greedy 找獨立集,然後隨便試個幾種切法發現切成前六個對角線、中間三個以及後面六個分別找可以找到 L=47L = 47,感覺有 88 分很好阿!根據經驗這種題通常 88 分已經很高了,所以我寫完之後就把這題丟掉把最後兩個小時拿去想 B 了。比完看計分版才覺得我被嗆了,賽後也沒多想多久就知道滿分怎麼做了,感覺又是一個我直接想滿分會比較好的題。

tour

資結題三號。花了超過兩個小時在想這題但還是沒有什麼想法,子題超級多但我幾乎都不會,只想到一個複雜度很差的分大小解。最後剩半小時的時候想說我沒輒了就寫下去看能拿多少,結果就只多拿了一個子題而已。有點可惜的是我想要分塊但我完全忘記了莫隊這東西,想到的話應該可以多喇到不少子題。

teleporter

看完就覺得應該是要先想辦法列個 dp 然後才能想要怎麼往後做,花了點時間推點式子之後就有個 O(n2k)O(n^2k) 的 dp,然後看著一下就會用線段樹優化成 O(nklogn)O(nk \log n),然後最後一步怎麼可能不是 aliens,前面優化做完之後就直接寫就過了。

Day 3

rainfall

資結題四號。前面只有斷斷續續想一下,一開始大概只想到 xi=0x_i = 0 那筆,感覺至少 k=1k = 1 應該可以做但還沒概念。後來再多想一下就知道可以掃描線然後想辦法維護一堆線段,然後好好維護線段 merge 的事件就行了,而且感覺這個想法可以直接套到 k5k \leq 5,這樣算是做完了嗎?

那時候大概還剩一個小時我想說就直接寫 k=1k = 1 看看,但已經賽末我已經沒什麼力了,而且各種細節沒有想的很清楚,所以寫到剩半小時的時候甚至還沒寫完。然後我就想說先去喇分好了,然後我就又花了 15 分鐘 debug 主程式只有大概 10 行的 xi=0x_i = 0 的解,然後找完就沒時間喇完該喇的了,不然應該可以多個 11 分。

後面發現我賽中想的 k5k \leq 5 好像是假的,可能還有點細節要處理,不過 k=1k = 1 應該是好的就是了。

scarecrows

看完之後歸成選括號問題之後就一臉是可 undo greedy / 模擬費用流那類的題目,先寫了一個 O(n2)O(n^2) 的模擬費用流之後就覺得這一臉可以用線段樹優化,但超級麻煩,感覺很容易漏細節,但我沒有其他想法了就只能硬寫下去,大概寫了半個小時而已但 debug 花了一個多小時才終於過對拍,花的時間多到到我中間還崩潰先去想了一下另外兩題才回來繼續找 bug,總之雖然花的時間很多但至少還是有寫出來。

比較白痴的地方是我中間有試過 aliens 但我範測調不出來,然後就以為現在有兩邊所以不能 aliens 就把這個想法丟了去寫模擬費用流了,如果沒犯這蠢的話應該可以至少省一個小時,然後 A 可能就有大分了。

是說如果預期解真的是 aliens 的話,那出兩題 aliens 也太過份了吧(X

stamps

資結題五號。前面只有斷斷續續的想但還沒有什麼進展,後來 B 過了之後再回來看腦中就忽然閃過「蛤這不是裸的重心分治嗎」,推了一下條件就直接開始寫。原本想說先寫 2 個 log 的解看看,反正至少只會缺最後一筆,然後他就直接過了,BIT 超級快,運氣有點好。

Day 4

baker

資結題六號。看完題目列完式子就知道可以離線一下然後蓋個線段樹凸包然後直接在上面樹上二分,但 mm 範圍有點大不知道會不會過。總之把其他題先想過一輪之後就直接回來寫這題,大概只花了 20 分鐘就寫到只缺最後一筆 TLE,有點嚇到,原來我這麼會寫單調凸包和樹上二分的嗎?我怎麼覺得我之前都會寫一輩子。

之後我稍微壓常一下發現壓不過,但因為這題 mmqq 差有點多,我深信這應該之後再回來調一下線段樹的層數就會過的東西,所以就先丟著。後來多過 C 之後就再回來調,最後改成分塊然後分三層就過了。

festival

資結題七號。看完題目只想說「蛤這不是裸的樹上動態動態規劃嗎」,但我不會 Static Top Tree 所以就只能想辦法用 HLD 搞,基本上只要會做 subtask 3 那種樹我就至少會做定根的,但我想了很久還是不會,最後剩一小時的時候沒輒了就只好開始喇分,把前兩筆都喇完就沒事做了。

賽後跟別人討論才發現我整個歸錯問題,有點慘,不然那個結論很單純不應該想不到的。

voltage

中規中舉的互動題吧?A 拿到只缺最後一筆之後就在 B 跟 C 交互想,C 想了一段時間才意識到有環就無解,然後就感覺需要先找到每條邊再想辦法定向,再多想一下才想到要怎麼找每條邊跟要怎麼定向,然後再多想一下才又想到要怎麼優化到 O(mlogn)O(m \log n) 次。我自己覺得我後面優化的方法蠻漂亮的,原本覺得這題很好,但賽後跟別人討論才發現是我的作法太複雜,有非常單純的作法。