ICPC2016アジア地区つくば大会参加記
10/15~16 に行われたICPCつくば大会に、チームmiyazoy72で参加しました。
— やざてん (@Yazaten) October 15, 2016
最終成績は45チーム中42位と、非常に悔しい結果となりました。
チーム練習としては会津さんがvirtual arenaで開いているコンテストに何度か出場していました。
LiveArchiveが壊れていて何を提出してもWAになった回が一番面白かったです。
575.cppはいつも強かったです。
1日目
受付開始30分前頃に会場に到着しました。
受付まではNAISTチーム、電通大チーム、会津大チームの方々とお話をしたりしていました。
周りを見渡すとコンテストの順位表でよく見かける方々ばかりで、このときから既に緊張していました。
プラクティスセッションでは用意していたemacsの設定を記述しましたが、思うように動きませんでした。
余った時間で一人一問を一応AC。
キーボードについては、配列は普段からUSなので問題はなかったものの、少し硬いかなぁという感想でした。
結局僕はあまり実装を担当しなかったので特に問題はありませんでしたが。
会場から筑波大学までは距離があるらしく、バスに乗って移動しました。
歓迎会では他の参加者と交流していました。
ホテルへ移動後は、emacsの設定を調べて、正常に動作する確認をしてすぐ寝ました。
2日目
朝は6時頃に起きました 朝ごはんが美味しかったです。
これはチームメイトとのslackでのやりとりです。
会場へはNAISTチームと一緒に移動しました。
会場到着後、コンテスト開始までは特に何もしていませんでした。
コンテスト開始直後はemacs等の設定を記述しました。
前日夜の確認で問題点はわかっていた(フォルダ名を".emacs.d"とするところを".emacs"にしていた)ので気をつけて書きました。
A問題はすぐに書けそうとのことで設定記述中に交代していたので、この時点で1ACでした。
C問題の読解が終わっていたので聞きました。
ある倉庫にたどり着ける荷物の集合は区間で表せることには気づいたのですが、緊張からか考察がなかなか進まず。
嘘解法を noy72 に伝えてしまいWAをもらったりしていました。
ここでB問題が簡単そうと聞きそちらに合流、全探索で適切にやればよさそう。
lazymii に実装をお願いしましたが、サンプルが合わないらしく混乱していたため紙の上で解法を確認。
2時間ほど経ってなんとかAC。時間がかかりすぎてしまった…
C問題は、合流した lazymii が解法を思いついてくれたのでおまかせしました。
A~CまでACするまでに3時間以上かかっており、いつもの調子が出ていないどころの騒ぎじゃないなと思っていました。
ここで選択肢としてはDかEのどちらかを解くというところでしたが、四則演算構文解析やったことなしだったのでDに専念することにしました。
見た瞬間ローリングハッシュだと思ったのですが、多くのチームがWAを出していたり、夏合宿でロリハ問題を軽々とACしていた shora_kujira16 さんのいるチームも手間取っていたため別解法を考えていました。
結局最後まで何も思いつかなかったので、終了間際にハッシュ値を配列に格納しておくO(N^2 logN)のロリハ解をダメ元で提出しました。
配列に格納する都合上MODを10^6にしていたため当然ハッシュが衝突してWAが返ってきました。
冒頭に書いたとおり、結果は 42位 / 45チーム でした。
問題文はほとんどチームメイトが読んでくれたため、その点はほとんど障害になりませんでした。
敗因はハッシュの理解の浅さと緊張だったと思っています。
チームメイトの協力に見合った活躍ができなかった…
コンテスト終了後は、1時間ほど余ったお菓子やドリンクに群がっていました。
コンテストは 8:45~13:45 の5時間開催だったので、とてもお腹が空きました。
その後の懇親会では協賛企業のブースが並んでおり賑やかでした。
司会の方が「あなた方のプログラミングスキルは非常に優秀で…」みたいなことを言っていて、「僕はそうでもないですよ」と思ったりしていました。
解散後は、n_vipさんが主催して下さった二次会に参加しました。
いくつかのチームは海外regionにも参加するらしく、海外チームの話などをしていました。
こういった話はなかなか聞けないので非常に面白かったです。