Recruit Programming Contest 2日目(2/10)
生活リズムが崩壊しているので3時頃に目覚める。
Twitterを見ていたら、AtCoderのB問題をHaskellで書いたらIOが遅くてTLEしたと@tanakhさんが言っていたので、ぼくのかんがえたさいきぃうのScannerモナドを実装しつつ解いてみる。 書いてみると本当ににTLEしてうわーとなる。しかしHaskellで通している人もいたのでコードを見てみると、Data.TextではなくてData.ByteString.Char8とかを使っている。言われてみれば確かに、ASCII文字しかこないしそれで十分だなあと感心する。
書き直したら解けたものの、TLEギリギリで悲しくなる。自作Scannerが効率悪いっぽい。
その次にD問題を考える。平方分割したらいけるんじゃねーと思いつつ適当に書いたら、頭が寝ていてgcd(a+k, b+k) = gcd(a, b)+k
みたいなコードが生成されていて辛くなる。
その後も平方分割のインデックスをバグらせまくって、通したころには7時になっていた。
朝食を取ってから成田エクスプレスで空港へ向かう。 N’EX11号の11号車11番というゾロ目席で、あずにゃんの誕生日っぽくて縁起が良い。
空港に着いて、飛行機もちゃんと飛びそうで安心していたら、チェックインでトラブルが起きた。 旅行代理店の取った席が本来システム的に予約できない場所なのにも関わらず謎の手法でねじこまれており、ダブルブッキングになっているらしい。やばい。
数十分にわたる調整の結果、結局エコノミークラスになった。ビジネスクラスも3席だけ正常に取れていて、これは@shioshiotaさんの提案で予選上位の3人に割り当てられることになった。プロ。
飛行機ではノートPCの充電があっという間に切れてしまい、仕方ないのでiPadで本を読んだり寝たりしていた。
機内食。
到着前にはケンタッキーが出てきた。うまい。
飛行機には日本で13:00頃に搭乗して、12時間空を飛び続けていたけど、ボストンに着いたらなんと2/10の12時である。時間の流れが遅いどころか過去にきてしまった。
外に出ると肌を刺すような寒さ。 バスでホテルに移動する。 道中、五輪が空中に浮かんでいるのを見つけた。どうもワイヤーを渡しているらしいが、周囲は開けているのでかなり大規模っぽい。
ホテル。エレベーターが面白い形をしている。
ランチボックスをもらって食べる。
サラダの味が濃いのと、チキンの付け合せの野菜がまずい(温野菜にラードをぶっかけたような味)ので今ひとつだった。
ホテルの売店にあったジンジャーエールとクッキーも食べる。 クッキーは4ドルしたけどその分でかい。菓子パンみたい。
集合時間まであと20分くらいかー暇だなーとか思いつつベッドに転がっていたら、いつの間にか寝ていた。
はっと気づいて時計を見てもほとんど時間は経っていなかったので安心しつつTwitterを見てみる……と、そろそろコンテスト開始とか言っている……。 改めて時計を見ると、短針の場所がさっきと違っていた。寝過ごした……。
なんとかスタッフの方と連絡を取り、会場のMITに連れて行ってもらう。 MITでかい。
説明を聞いてコンテスト開始。 問題は簡単な貪欲が半分、少し難しめのが3問、Div1 450くらいのが1問、むずいのが2問みたいな感じだった。 最終的には8完し、全体7位。9完は上位2人だけなので、完全にスピード勝負だった……。
Fは簡単な考察をしたあと場合分けで解こうとしたらWA出しまくったのでゲーム木探索に切り替えたのだが、@kawateaさんに聞いたら場合分けゲーで通したとか言っていてやばかった。
EはN×M ≦ 256
の制約の使い方がよく分からず分枝限定法で解いたという話をしたらなにそれ怖いみたいな反応をされた。N≦16
か M≦16
になるので小さいほうで全列挙というのが想定解らしい。なるほど~。
コンテスト後、バーで懇親会をした。 ビールがうまい。
MITの人にボストンはどうだったと聞かれて、今日来たばっかりだから観光してないし、明日もすぐ出るから観光できないみたいな話とか、Indeedに興味あるのかみたいな話とかした。
その後は日本人参加者でICPCの話とか、コンテストの感想戦とかしていた。
バスでホテルに戻ったら0:30。 5:45にロビー集合で、5:15にはモーニングコールで起こされるらしい。なんだそれは……。