ICPC Korea Regional 2024

ICPC 首爾站 2024 遊記

以下用 C 跟 R 簡稱我的隊友。Day 2 正式賽會有分隔線,怕暴雷自己小心。

Day -2

飆趕國文作業,寫完之後倒頭大睡。

Day -1

作息亂掉然後被硬拉去下午五點到十點團練。

Day 0

從桃機飛往仁川機場。

搭上飛機之前各種意外,C 宣告他去買鍵盤所以會晚到,然後我們先報到的時候被提醒說原本 C 說要到的時間就是最後報到時間;然後就變成我和 R 去摩斯買了東西吃結果四十分鐘之後要安檢、出關、到登機口的局面,R 先吃完離開之後我吃完,我安檢出關很迅速但登機門走反方向搞得好趕。整個龜兔賽跑。

這次長榮的飛機餐是豬肉炒米粉,我覺得不是很好吃,大概也有一些原因是我們嘴饞偷偷吃摩斯以及我本來就不喜歡米粉。抵達首爾只要兩小時,意外的很快。

出關之後我們搭機場巴士離開機場到會場所在的高陽市一山東區,票價大概 27000 韓圜,要搭約一小時。然後下車等轉乘公車才感受到 12 度的冷。跟台灣的公車一樣用現金會很迷茫怎麼投,又有語言障礙所以更難投。最後從公車站走到飯店 KINTEX by KTree,check in 之後感覺這家飯店各方面都不錯,房間裡面還有洗衣機、電磁爐(不會用到)。不過淋浴間跟馬桶之間沒有門所以地會弄濕,而且也沒有免費提供牙刷。

落地後的第一餐晚餐就是吃飯店樓下剛好有一個韓式烤肉店。CP 值感覺不算太高,不過好油好多肉好爽。很多小菜和點套餐附的豆腐煲都好辣,我一直拿水跟拿奶油玉米吃。吃完之後去一樣在飯店樓下的 7-11 逛了一下又買了香蕉牛奶跟冰淇淋。

回飯店之後發現買的鍵盤的 enter 鍵佔據了美式鍵盤的 enter 右部和整個反斜線的位子,反斜線變到 enter 的左部。打了一下字,看來是白買了。

Day 1

早上好晚起。睡前被問有沒有準備在學證明,事前沒有想到,只好隔天起來想辦法把在學證明印出來,C 去問飯店櫃台剛好櫃台可以印。

下午一點半報到,所以我們大概十二點就去找會場。官網寫說會場在 KINTEX 二號展覽館四樓,不過展覽館蠻大的,一樓有一些吃的地方但不太看得到哪裡是 ICPC,我們先進去一家土耳其 kebab 捲店吃了午餐(感覺小貴),出來找個電梯結果就看到 ICPC 的立牌了,搭到四樓就是報到處。順帶一提好像剛好是 BlueArchive 的什麼活動所以展覽館外牆上有 BlueArchive 的大廣告,而且報到處正好就是那個廣告的內側,因為是透明的外牆所以可以從內側看那個廣告。蔚藍檔案.啟動!

被華為的人稍微搭話,似乎是因為我穿著新加坡 IOI T。報到的時候有一個櫃台專門給 foreign teams 好評,但馬上就扣回去因為他要我們填一個上面全部寫韓文的單子,似乎是個資收集書以及填要寄放哪些物品到時候比賽用,雖然櫃台的人有講解但還是嚇到。

把軟軟和 codebook 裝在透明袋子裡拿去寄放之後稍微看了一下戰利品,這次有一個提袋、T-shirt、傘、小吊飾,還有華為的提袋跟小玩偶(我沒拿小玩偶因為要填表單)。感覺送傘很剛好,因為我最近剛丟傘。在等待室等測機開始的時候也有看到推特上一些選手發他們到了的消息。等候室是各種拿麥克風用韓語宣佈事情,但我一點都聽不懂他們講什麼,感受到台中站的外國隊伍聽到中文是什麼心情了(X) 測機快開始的時候英語的頻率也開始增加,至少稍微知道要做什麼了,但不知道什麼時間要專心聽英語,有時候就會不小心漏聽,不過周圍的工作人員指示還是都是韓文,常常有點無所適從。

進到比賽會場進行測機以後才看到我們的鍵盤跟我們習慣的美式鍵盤配置差了更多,這次 enter 佔據了更多的位子,然後反斜線被放到原本的 backspace 左邊,鍵盤上面甚至是印韓圜符號,跟 JIS 鍵盤有點類似,但總之打起來超級不習慣,超可怕。趕緊舉手請工作人員問能不能換一個還有明天怎麼辦,他們先幫我們換了之後表示明天座位會 shuffle 明天有問題再說。換來的新鍵盤打起來有點重,感覺也有點費力。

PC 環境跟台中站、越南站還有 World Finals 都大致一樣,但竟然預設是韓文輸入法,開場大概要優先把韓文輸入法關掉。我們選用 konsole 當 terminal。測機題目是去年的 regional 題,R 從 QOJ 把 AC code 抄起來在開場 9 分鐘過所有題。測起來 judge 的時間跟我們本機的時間大致差不多,python 版本不一樣,GCC 應該夠新有 C++ 20 可以用。測機的時候沒有 pdf statement 所以問了個 clarification,另外也問了能不能用 #pragma

我們測完有點晚,所以把東西收一收就走了,特別的是我們名牌要還給他們,明天應該是看 T-shirt 入場。晚餐不知道為什麼跑去 KINTEX 附近吃人蔘雞湯,第一次知道米飯是包在雞肉裡面。喝到最後都是中藥味所以沒有完全吃乾淨。

外面氣溫 8 度,好冷。走回飯店之後迎面看到推特上有追蹤的 riyuna 本人,但我太社恐沒有認親環節。回來之後一邊耍廢,一邊精神一些往年題目以及 ABC,還有把這篇遊記寫到目前為止的進度。等等計畫去 7-11 買明天的早餐之後洗澡睡覺。

Day 2

今天是正式賽。早上七點半起床吃昨天在便利商店買的三明治,結果要出門之前 R 突然表示他的眼鏡鏡片整個掉下來,這根本不知道怎麼修,嚇死,結果 C 發揮他的童軍力量,把不知道哪來的一塊衣服標籤用他帶的剪刀剪出一小條類似緞帶的東西,然後把他的鏡框壞掉的部份綁起來。雖然不知道能撐多久但也只能先走到 KINTEX。冷。

手機必須裝在袋子裡放在等候室,不過可以穿著外套以及帶著鉛筆盒跟一些巧克力走進會場,門口會有工作人員用金屬探測器掃XD。看起來似乎是按照等候室的位子前後一排一排叫進會場,但因為是用韓文完全聽不懂,只能讀一下空氣。

會場的桌上就有水,並且開賽前就發了一個餐盒。主持人定期的用韓文跟英文喊 do not touch any thing on the desk。結果今天坐到的座位鍵盤又是大 enter 的類型,C 趕緊跑去跟工作人員講,結果他們拿來兩個一樣是大 enter 的問我們要換哪個,還好我們有看到隔壁坐的 AMATSUKAZE 電腦插著的鍵盤剛好就是美式鍵盤,而且他們其實有自己帶自己的鍵盤(被放在透明袋子裡),最後成功換過來,而且打起來相當順手。工作人員還戳了一下重開機,好像是怕電腦沒抓到鍵盤之類的。

所有隊伍都進場之後宣佈可以登入電腦跟 domjudge,還可以「setup develop environment」,但不能寫 template code,雖然看周圍都在設定 IDE 但我們是用 vim,覺得寫 vimrc 如果被查很麻煩所以就乾脆等開場再抄。開賽的時候還播了一個不知道是什麼的音樂。


開賽大致打完 vimrc 之後 R 就跳上來把 A 題開了,在 5 min 的時候,竟然是全場首殺(?)然後我就緩慢的看其他題目,B 題跟 L 題還算是順順開出來,B 題也太既出,不過 G 題更是一個原題,R 丟給我激動的問是不是典中典但我被嚇到根本沒有好好學過這題。接下來 J 題 R 寫了一個解,雖然有跟我大概確認但丟上去還是 WA 了,感覺會不太妙趕快把他搖下來,結果下來就發現有怪怪的,趕緊修正成用二分搜再加上兩邊貪心。F 題也陸陸續續有人過,C 有丟出一些想法但我一直覺得像在喇分。

C 題感覺時間很緊,但有人過了而且也沒想到什麼寫法就請 R 跳上去寫,然後出了好幾個 bug,跟一直在做怪怪優化的 F 題交替使用電腦時間。看了 H 題之後第一個想到的解是重心剖分,但感覺 1e6 兩個 $\log$ 就不會過,只能先擱置。F 題是要構造交換次數 $\leq 0.7n^2$ 的某種交換的排序方法,因為其他題都不會做我大概畫了三十分鐘這題都沒有進度(我要馬後炮我有想到官解那個方向但算錯次數…),結果我們最後的解法基本上就是感覺很隨便的幾個 heuristic,加上隨機 tie-breaking,並且一直隨機直到在這個特定的 n 會過,沒想到竟然就過了,什麼隨機鬼題。C 題一個 bug 是題目要求「uncolored points」但沒判,另一個是在維護最多四個顏色的時候忘記把重複的消掉,兩個 bug 修掉終於 C 題也過了。

C 題寫完之後沒題會做,商量一下變成我跳上去寫 H 題的重心剖分。結果寫了快四十分鐘,然後本地隨機生測資要跑 0.8 左右,非常抖,傳上去果然 TLE。交給 R 寫他宣稱會做了的 E 題大概寫了 20 分鐘之後得到 WA。我在機下想的時候想到 K 題怎麼做,寫三分鐘就過了。可惜過了這題已經是本場巔峰。在 E 題找到幾個 typo 型的 bug,然後發現有漏 case,改了之後傳上去仍然 WA,只好手構測資發現輸出非常誇張,又發現漏的 case 完全修得不夠,然後因為又有一些地方寫錯所以構完測資又手算一堆東西,不知不覺就又變成三人都盯著電腦看 debug 輸出的局面。大概印了至少五份 E 題的程式碼,桌上和地上的紙非常混亂。

E 題在暴傳的同時也在亂壓 H 暴傳,事後看起來怎麼會沒有人想到解法就不是兩個 $\log$ 冷靜下來重新想一個解呢?總之丟給他們用電腦,我繼續看其他題目,發現 D 好像可以根號做完就跳上去寫。四小時左右才寫完根號的部份,後面還有一個子問題「有一個排列,每次 swap 指定的兩個位子之後輸出逆序數對」,一時想不到 BIT 套 PBDS 以外的寫法所以跳下來。寫 D 題的同時似乎 E 題討論了一下剛剛手構的 case 是哪裡錯,終於在 4:24 的時候過了。D 題又 debug 好一陣子寫暴力才過範測,然後改成樹套樹之後傳,結果 TLE,比賽剩下只有十幾分鐘,我就開始想說是不是要用 CDQ 但寫不完,但如果我有把 code 印下來冷靜一點也許我會發現我在 rebuild 一塊的時候花了 $O(N)$ 而不是塊大小,這件事我在比賽最後 25 秒才想到,比賽就在我對 D 題做無謂的壓常下結束了。

開版之後最終 H 題過的比我們想像的數量多,交大他們也有過這題(雖然聽他們自己說他們是 map 的單調隊列啟發式合併兩個 log,但我猜其實複雜度是一個 log 只是他們沒注意到),然後我們最終拿到被夾在 AMATSUKAZE 跟越南的隊伍 gugugaga 中間的第六名,AMATSUKAZE 比我們多過一題 H。


比完之後先不能離開,因為有人有延時,但他們的作法竟然是直接把整個比賽加時間。我就邊吃他發的餐盒,吃起來還蠻不錯的。回到等候室之後就是不間斷的韓語轟炸,先是一些韓語致詞之後又有兩個人全韓語的 tech talk (其中一個好像是前幾年的冠軍跟 World Finalist)聽到我快要睡著,還有精美的全韓文題解,外國隊伍也需要人權QQ 最後終於來到開版的時間,結果也是用韓語開版,至少隊伍名稱和題號都還是英文聽得懂。他的開版網頁好像有一些更新,但最顯眼的是每次翻牌之後就會有奇怪的頻閃的 bug。

不知道怎麼檢討但總之感覺接近退役(這次總該是真的了),有點空虛的離開比賽會場。他們說有招待我們晚餐,然後到指引的餐廳吃一個像是牛肉湯的東西,配白飯跟小菜。還不錯吃。然後我們就坐在日本隊伍旁邊,吃完花了很久鼓起勇氣再跟 tatyam 打招呼(用英文,不敢用日文@@)以及跟他帶(?)的隊員們 show 一下我的推特還有尬聊三句,結果最後我的推特沒有收到新追蹤,好 QQ

走回飯店的路上聽謝旻錚教授講一些 ICPC 的事情(也屬於尬聊),然後我在飯店底下的 7-11 又買了一些東西。最後在樓上洗完澡並繼續寫這篇部落格。已經十一點了而且隔天要早起去機場,明天大概也只是單純的搭飛機回去的行程,所以本文就在此打住好了。

遊記真的過期就寫不出來了。hue city 的已經對我來說超級遠的感覺了。

comments powered by Disqus