今年的 ICPC 的台灣賽事依舊由北商大承辦,然而地點不在台北,落腳於桃園龍潭的武漢國中。官方滿晚才公布有提供往返中壢車站的接駁車,但領隊的學長已經決定叫遊覽車連兩天當日來回,這樣一來沒有在外住宿過夜根本失去比賽的儀式感啊!!
龍潭是個偏鄉下的地方,有些小路遊覽車甚至差點開不進去,國中占地感覺是滿廣大的,校舍看起來是新的,現場許多國中生穿著 ICPC 衣服當志工感覺有點怪 (? 開幕的時候是說北商大在平鎮邊郊有校區,原本以為因為疫情的關係容納得下。
去年 Asia 拼錯屆數也誤植,今年則是掛的紅布條上面寫著 Taipei-Hsinchu Site 應該甚至最晚也是我入學前那屆。這次大會的衣服是很醜的桃紅色 == 材質我覺得也沒有去年舒服,背後沒有 ICPC 的標誌而是不知道誰說的名言。後背包今年硬加上 NTUB, 也有一句名言,但重點是名言都跟 CS 沒什麼相關的樣子。
我的兩個隊友,室友跟學長都是桃園人,因此他們都是回家住然後搭接駁車。我們的位子在最前排中間,旁邊恰好是高中學長,對面則是最終奪得桂冠的台大 8BQube, 一開賽就強烈感受到威壓感。
A - Simplified Genome Translation#
這次比賽好幾題都跟 RNA, DNA 有關,高中生物的同義密碼子、補密碼、終止密碼子都回來惹。這題其實就是將總共二十種胺基酸以字母分別編號,給定 mRNA 序列求轉譯出來的胺基酸序列。所以這題就是個簽到題,但密碼子總共有 \(4^3=64\) 種,也就是說要寫個 20 層 if-else
或 64 個 hash map 插入,室友很謹慎地再三確認才 submit.
1 try, 28 min
G - Repetitive Elements#
這回換成 DNA 序列,題意簡單來說就是給定一個字串,求最長的重複出現且不重疊的子字串,若有多個則輸出最早出現者。\(N\leq100\) 因此枚舉所有子字串是可行的。這題應該是學長做的。
1 try, 34 min
C - Distance Calculator#
這題是一個有 \(n!\) 個點的圖,每個點的編號是一個 \({1,2.\dots,n}\) 的排列。對於一個排列,其對應的點有一條邊連向該排列交換任意一對相鄰的元素後所對應的點。所求是自 \({1,2.\dots,n}\) 出發至某點的最短距離。起初我還想 BFS, 後來才發現根本就是求逆序對,而且還 \(N\leq100\)
1 try, 47 min
M - Connectivity Problem#
Disjoint-set unions 的模板題,沒印象是學長抑或室友做掉的。
1 try, 55 min
B - Multi-Ladders#
看看這題如此感人的 penalties… 屬實是大燒雞,更糟的是我根本沒幫上忙。當然這對我們排名不免一定有影響,但這次比賽的銀牌線非常剛好的壓在解出七題,所以也可以說是病入膏肓、無濟於事。
回頭看看題目,是一個有點噁心的 DP 題,室友一開始的解時間複雜度不夠好,跟學長討論後以數學化簡一些部分,接著似乎有 Clarification 然後看錯題目限制再吃一些 WA, 但還是找不到 bug, 最後好像是某些小 edge cases 沒考慮到 QQ
9 tries, 195 min
D - Tangle: A DAG for storing transactions#
題目名稱中就有 DAG 而且又有 \(N\leq10000\), 因此一開始我一直在想 \(O(N)\) 的解卻找不到。但眼看計分板 AC 隊伍數越來越多,我們討論後最後封板前我還是亂寫一個 \(O(N^2)\) 丟上去竟然過了。
1 try, 237 min
賽後#
剩下來的時間我們都在跟 J - Traveling in Jade City 奮戰,室友已經把題目的圖化簡至只需要考慮四個點,但最後求最短路徑與一些 edge cases 燒雞惹。封板後我們就已經掉出銀牌線排在第 32 名,終場比賽以第 39 名作收。說實話是有點小失望,但我的實力確實不足而整體環境更競爭其他隊伍又更進步。
這次的頒獎典禮我個人就覺得有待改進,雖然 NCPC 似乎一向都是跟 ICPC 一起舉辦但我想有不少人都覺得怪。好像是因為攝影距離過近的關係,不能列隊在海報背景板前,而改到投影布幕前,前幾組的時候投影機還沒關。站上去的時候不像去年每一隊的位置早就安排好而是一團糟,以至於當然沒辦法在當下拿著自己的獎狀。這次 ICPC 銅獎還是一樣由一人代表上台,但銀獎就是一次兩隊整隊上台,去年只有金獎可以整隊上台 QQ 不過整體流程很拖,連在我們前方交大卡車教授都忍不住小聲抱怨。
中午提供的食物比起去年由於疫情的兩份三明治豐盛不少,一整排的桌子有蝦仁燒賣、壽司、各式麵包與蛋糕,旁邊也有許多零食。雖然仍然沒有晚宴,但不像去年只給麵包餐盒敷衍打發了事,而是一份必勝客個人 Pizza 配上一顆蘋果。
Comments