網頁

Monday, 19 August 2013

Google Code Jam 2013 Finals - London

理論上 round 3 top 25 才可以 advance, 而我排 35, 不過因為有些人不去, 在比賽兩週前接獲了很突然的通知可以去
於是回香港不足一個月又再踏足歐洲, 感覺奇妙

雖然香港有去倫敦的直航, 但是不知為甚麼 Google 的 agent 安排的是要轉機的 (但後來發現日本選手 wrong 的行程是 東京-香港-倫敦, 而且是夢寐以求的 CX)
一開始是坐 KLM, 後來又變成 AirChina (稍感安慰的是由 747-combi 變成 777-300ER)

一波三折的啟程

原定星期四早上飛北京, 但因為颱風, 再加上國航沒有守時的概念, 0830 的航班 delay 了 7hr (另: 因 delay ground staff 派了餐廳 coupon, 才發現原來香港機場的餐廳很貴)

到了 1530 才起飛, 由 A321 變成 B777-200, 奇怪的 2-5-2 排位
出乎意料地大部份人都在睡覺, 沒有死小孩在尖叫

到了北京, 當然毫無疑問的錯過了 2pm 的 connection flight
(原來上次來北京機場已是 5 年前的事)
本身如果安排在北京往一晚然後明天搭同樣時間到倫敦, 是趕不上比賽的 (原定比賽前一天傍晚到達)
幸好 1am 有飛 Gatwick 的機, 順利話可以在比賽當天早上 6am 到達

但是因為要把 check-in bag 由 default 明天的機轉到今晚的機, 要搞一輪非常麻煩的手續, 於是在北京機場的禁區和 departure area 來來回回, 值得一提的是有不少香港旅客都是相同情況
離起飛還有一段時間, 在北京機場解決晚餐, 令人懷念的內地物價啊
北京首都國際機場
不負眾望, 到 Gatwick 的機準時起飛, 不過是 A330-200, 只有電視沒有 AVOD
但重點是一落機便要比賽, 所以只能渣睡 (渣取時間睡覺) (題外話: AirChina 提供燕京啤酒, 很難飲), 不過 AirChina 有一個優點, 就是會強制要求把遮光簾放下, 也算順利的在機上訓了 7hr

終於, 在比賽天的早上六時抵達 London Gatwick Airport
為了渣取時間休息, 採取很快也很貴的 Gatwick Express - Cab 到酒店 (剛好 under budget)
到達的時侯吵醒了同房 [[wrong]] :p

比賽天

早上是試機和參觀 Google 的 office, Google office 的餐廳實在是屈機地好吃
比賽 4 小時, 5 條題目, 看過上年的 finals, solve 全部 small 和 1-2 條 large 是可能的

開 A, 題意中的 touch 有一點不清楚 (雖然加上 sample case 就清楚, 不過需要一點時間), 也不是立即想到 large 的做法, 頹做也有點麻煩, pass
B small 的做法很標準, bsearch answer 後一定 exists 一條 optimal line touch 兩點, 輕鬆過之
開 D, 試了一次 O(N2) + optimize, TL 了
回到 A, 判斷的地方寫得有點複雜, 不過分數為重 (怒隊), 3 wrong tries 頹做 small
C 是 geom, 連 small 都未有人過, 但其實不難得出 solution 一定有一條線過兩點的結論 (非常經典)
題目限定了 solution 不能 touch point, 要把線 shift eplision, 有點麻煩, 因此錯了 2 次
由於全部的 large 都想不到, 所以目標是過所有的 small
D 終於想到 O(N log*N) 的做法, 用了 hash 去 implement (理論上可以不用), 頭幾棍因為 hash collision 而導致 WA, 最後結合了頹做 (因為只有 6% 的 case  n > 1000) 終於在比賽前 17 mins 過了 small
雖然 complexity 合理, 但其實 constant 很大, 過 large 不能 (事後發現和 author solution / 其它人的做法完全不同)

總結: 除了 A, 其實 small 是不能稱為「頹」的

宣佈結果前的 snack time, 很滿意地發現有酒類飲料供應
Reveal final scoreboard 和 ICPC 一樣, 都是由底開始 show result, 多了一個 column 是 show 當前每個人的 rank range (best rank, worst rank), 很有用的 function
最終由 topcoder admin [[mystic]] champ 了


[酒鬼 mode] 和 ICPC 相比, GCJ 才是真正的 celebration - 因為地點在一間 bar, 當然也是酒水任飲
一般的 bar 有 pool table, 但今次 Google 安排的這間 Bounce 就與別不同的是放了乒乓球枱
以及提供應該是為了響應主題的 "Gin Jam" (感想: 沒有酒精味)
雖然一開始基本上不認識其它人, 但在酒精 + 大會MC 安排分組遊戲下, 開始有趣
這類活動的最大好處是, 可以和名人交流, 例如和 [[cerealguy]] 切嗟球技 :D

倫敦遊

早餐時 Petr 坐對面, 被他霸氣側漏震攝了
Google 送了一張 hop-on-hop-off 巴士卷, 之前旅行經常看見這種巴士, 不過一直都未試過
不過結論是, 還不如送一張 24hr tube ticket

倫敦馳名的 cloudy weather, 使相片全部都覺得影得很差...
徒步遊走於名景點之間

London eye
Big Ben
科技感
白金漢宮
King's Cross
Harry Potter!
感覺很高級的住宅區
British Museum, 可惜去到時快關門

建在橋上的火車站
晚上拉埋同房 [[wrong]] 去食飯 (一個人去餐廳好像很奇怪, 也沒有理由食快餐 (而且有 £50 的meal allowance!))
隨便在附近找了間意大利餐廳, 湯+主菜+啤酒+甜品每人 £30, 在倫敦市中心來說好像不貴?

星期日, 晚機所以還有大半日在倫敦
London Bridge
城堡, 仔細閱讀說明, 好像和 AOC 的教學戰術有關
時空交錯感
接著前往在 GCJ 網推介的 Camden Market, 果然不錯
由於 Northern line 進行工程, 只好在 Euston Square 行過去
簡單來說, 就是有點像旺角女人街之類




£5, 非常抵
雖然很好行, 但是真正會買的東西不多, 隨手買了些東西便回酒店取行李前往機場
交通關係, 導致到機場的時間有點趕, 不過 Heathrow T2 殘舊得沒有逛的意欲
今次終是 B777-300 !
果然機艙很新很舒服, 有 AVOD (終於看了<孤星淚>, 可惜結局半小時睡著了), 還有就是起飛時的加速度, 與引擎的燃燒聲, 長途機還是 773 好

可以看到引擎的大小
在北京機場轉機很莫明奇妙的要過一個奇怪的 counter, 令人難而理解
偶遇 SAS Scandinavian 的 A340

到香港的機不知道為甚麼寫著「澳門航空」


就這樣, 結束了神奇又突然的 GCJ 2013 Final
[野心] 只差 TopCoder Open 就去齊三大 world finals!

Thursday, 18 July 2013

KTH Exchange 53 / Norge Day 13: 回程

先從選擇航空公司說起, Oslo/Stockholm 都沒有直飛香港, 所以必需轉機, 例如 BA, LH, SU 等
在一個月前訂票, 最便宜的是 Qatar 和 Aeroflot, 6000hkd
這種情況當然是選擇 QR 了, 一個 Skytrax 5* 對 Skytrax 3*

不過還是要先到 Oslo 轉機, 所以全程是 Stavanger → Oslo → Doha → HK, 三程機, 差不多一整天在機上 / 機場

還有就是到 Stavanger 機場的巴士一小時一班, 錯過了就真是一字錯了...
Stavanger 到 Oslo 只有 300km, 只用飛半小時多, 選擇有 SAS 和 Norwegian, 相差 ~200SEK, 不過 SAS 其實和 LCC 沒有甚麼分別, 實在沒有不選擇 Norwegian 的原因

幸好沒有 delay
第一次坐不足 45mins 的航班, 連 trolley 都沒有出現
到達 Oslo Gardermoen, 其實已是第 4 次來到這個機場, 有一種熟悉的感覺
寄存了兩星期的行李收費只用 700hkd, 習慣了北歐物價就覺得很便宜了

QATAR A332
登機才驚覺, 雖然過去大半年差不多坐過 20 程機但都是窄體呢
不得不說 Qatar 真的挻不錯, 久違了兩個星期的啤酒還有其實沒有想像中好看的 "Life of Pi"

航機越過瑞典南部, 波羅的海... 穿過烏克蘭進入黑海, 不禁感慨一下終於離開歐洲了.. 那種 "數小時還在地方 A, 現在己離 A 數千公里" 的奇妙感覺

-


Doha 機場沒有登機橋, 所以一走出機艙, 立即感受到這個沙漠城市的高溫, 目測可能高達 40 度, 而且已是凌晨
機場內又是另一個奇景, 話說到達時已是凌晨, 而這個是 duty free shop 的景象:


不愧是轉機港, 過了凌晨 departures 頻率之高:

機場可以用熱鬥來形容, 後來才知道 QR 已經成為了亞洲 - 歐洲的轉機熱門 airlines
接近登機口, 開始聽到廣東話了

這程載客率只有 50% 左右, 也是 A332
很多戲都沒看過, 昨天刻意到 Google play 買的遊戲也沒有派上用場, 不過 <孤星淚> 也是沒有想像中好看..

下降, 熟悉的降落航道, 標示著十一個月的 exchange 就此結束。

Wednesday, 17 July 2013

Norge Day 10-12: Stavanger

挪威最後一站 Stavanger, 與 Bergen 同樣位於西岸, 所以這次就搭船去
在一個下雨的星期天登上前往 Stavanger 的船

航程 4 小時, 到達的時侯已是黃昏
很可惜地 Stavanger 同樣是陰天

這次住的地方應該是中學宿舍, 在暑假時變成 hostel
其實這個 Stavanger 城市本身沒有甚麼特別, 來的原因主要是為了 Preikestolen 和 Kjerag,
兩個著名的行山地方, 不過最後兩個地方都沒有去

可能是因為 hostel 太舒服: 一人房, 還有 ADSL 高速上網, 難以早起
而且之後兩天天氣都很差, 沒有意慾去行山

Stavanger 市中心很小, 半個下午走完:



某 pizza 店, 一共 55NOK (70HKD), 在北歐來說很便宜

在歐洲的最後一天, 來到這個 oil museum, 畢竟挪威是石油國

雖然從來都沒有 homesick, 不過對於即將回港的事實還是有點興奮的, 所以這兩天都不是太旅行 mode 了...

Sunday, 14 July 2013

Norge Day 8, 9: Bergen

據聞 Bergen 經常都下雨, 今天竟然是陽光普照的好天氣
Bergen 市中心不大, 完全不用交通公具

市中心主要購物街, 不過在北歐來來去去都是那幾間品牌


Bergen 著名的漁市場, 當然是 100% 的遊客化, 幾過大半年在瑞典的物價觀察, 這裏 overpriced 的情況十分嚴重
在超市買半條三文魚 (最平的時侯 80SEK), 然後回去 grill 實是人生一大樂事


其實有點吸引

另一名景點


Bergen 也可以來個小型的行山, 350m 的山頂
由於前四天行了兩次山, 中途休息次數增加, 用了多於一個小時才到頂

半山住宅


回到市中心後 cloud cover 突然增加, 氣溫下降, 又回復成多雨的 Bergen

Day 9, 整天也下著雨, 稍為有趣的地方就只剩不知名教堂一個, 所以外出 5 小時侯回去打 CF ... 不過倒是去了超市買新鮮的三文魚, 可惜 hostel 沒有錫紙又不想買所以最後用牛油煎

Friday, 12 July 2013

Norge Day 7: Flåm → Bergen

早上徒步走至 Flåm church 再折返, 大約就是沿 Flåm railway 走了一個站

 Flåm church

Norway in a nutshell 的其中一程
雖說昨天的行山不辛苦, 不過四天內行了兩次山, 所以放棄了爬 hostel 附近的瀑布
搭下午 4pm 的巴士到 Bergen, 再次回到城市, 到超市買食物煮晚餐後便一直在 hostel 休息