うにゅーん、って感じだ

SRM, CF, AtCoder黄. SRM highest:1746. C#を書きます.

CODE FESTIVAL 2016 参加記 ver0.1(ほぼチームリレー(優勝)について)

宣伝

コード祭りの参加記については
ひとり Advent Calendar 2016 - Adventar
の序盤の記事としてもっとちゃんと書きます。

今は、簡単な総括と、あと“““圧勝を収めた[要出典]チームリレー”””について何が起きたのか適当に書きます。
(チームリレーに関してはおそらくjapljさんやきゅうりさんも書かれると思いますが、私は自分の問題が開始6分で終わったのでわりと全体の様子が見れてたんじゃないかなぁ、と思うので一応私も書きます)

AdCの期間中に、いつも通りツイートとともに振り返るみたいな記事として生まれ変わる予定なのでクソAdCの方もどうぞよろしくお願いします。

一日目

本戦

まさかの4完(49min)で133位でした。まさかのatcoderのレートが微減しました。まさかのatcoderレート黄色内で最下位でした。

この結果は自分でも本当に想定外で本当に落ち込んでいるのですが、ただ、数少ない人々から4完だったの意外、と言われて少しだけ他に認めてもらえるくらいの実力がついてきたのかもなぁ、と少し嬉しくもありました。


(問題についてとか詳しい話を後日追記)

touristのtalk


これめっちゃ好き(自画自賛)

暇な時間

???を食ったのち、ボードゲームとかカードゲームとかして遊んでました。たのしい。

エキシビジョン

オープンの方でuwiさんが早々にBを通していてすごいなぁとなった、オンサイトの方は、やはりチームワークは大事という感じがあった。

ホテル

間違って隣のホテルに入ってしまいフロントで困り果てるとかいう面白イベント(面白くない)がありました。
今回は睡眠妨害コンテンツがなかったので酒を入れたのち2時前くらいに寝たと思います。

二日目

asa

起床成功、ホテルのサービスコーヒーを飲みつつ会場まで歩く。

トーナメント

最終的にマージされる32人のうち唯一atcoderのレートが黄色、本戦での爆発炎上もありとてつもないプレッシャー。
結果としては無限にバグを踏み抜き、本当にギリギリで最後まで勝ち抜きました。
壇上でtouristと並んで写真を撮った(!!!)



うちわ、家まで持って帰ってきてみると本当にただの単色のうちわなのでなんかロゴくらいは欲しかった


内容は本当に散々だったがギリギリ結果を残せたので本当によかった


(TODO : もう少し細かく)

昼〜


トーナメントの商品であるところのステッカーを貼り、ついにMBAがステッカー台紙と化した。



UFOキャッチャーでタオルをゲット! アームがクソ固くて普通のゲーセンの金を吸い込むUFOキャッチャーとは比べ物にならないくらい楽だった。
広げてみると普通にバスタオルサイズでびっくり

チームリレー

お待たせしました。

チームMは、海外勢が ksun48 さん、日本勢は japlj さん、きゅうりさん、kzyKT さん他。

方針としては、始まったら簡単な問題が解きたいと申告した4人がA~D、残りからksun48さん、japljさん、きゅうりさんを除いた4人がE~Iくらいまで、ksun48さんはJだかKだかを一人一問読み、解法まで至らなくても問題概要がわかったらそれをjapljさん、もしくはきゅうりさん(確かA~Dをjapljさん、E~をきゅうりさんに、みたいな感じだったと思う)に伝えて、解法・実装を練ったのち誰かに実装を回す、みたいな感じで行こうという話になりました。

結果的にこの方針は、結局ほとんどの人が最初に自分が読んだ問題の実装を担当することになった、という点以外はこのまま進んだと思います。問題の数と人数が等しいので、この点についてはもう仕方ないと思います。


以下、大まかに時系列順になります(時間が前後していたりする可能性が大いにあります)


とりあえず始まると、私はE問題が目についたのでE問題を読みました(本戦がボロボロだったので弱気になっていた部分が大きいと思います)。
(x/gcd + y/gcd - 1) * gcd が答えなのはすぐに気づけたので、問題概要とともにきゅうりさんに説明、GOサインが出ると同時にA問題が通ってPCが空いたので、ささっと書きに行きAC。E問題で6:32なのでさすがにFAであってほしいが。

その後B, Cが通り、Dが少しバグっていて先にFが通る。
その間私はGにちょっかいを出しに行っていた(こうじゃね? みたいなことを言ったが結局自分でよりシンプルな解法を思いつかれていて何もしてない感がある)。Dが詰まっていてPCが空いていたので先にGをコーディングしてくるように言う(何様のつもりだ)(しかもこの時、解法の信ぴょう性を疑っていた)。

そんなうちにDがなんとかなる。A~F 6完が 31min(これはそこまで良いタイムというわけではなかったと思う)。

その頃、実はまだHが誰にも読まれていないことに気づく。読むと 24 * 60 * 60 (秒)でModを取った後 3 * 60 * 60 (秒)の区間に含まれる点の最大を求めればいいとわかる(ただ、アホなのでRMQなのでBITとか言った(どう見ても累積和でやるべき))。きゅうりさんに見せる。



Gがバグっていて、ますます解法の信ぴょう性を疑う。ただ、手元では合ったはずのサンプルもWAになっているので、コーディングのミスだろうなぁという気。

そんな頃、まさかのIが通る。kzyKTさんがガチプロで、一人で考察を進めて一人で通した。わけわかめ
さらに、ksun48さんがKの解法をjapljさんに投げた後、自分はJを通しに行った。3, 4分で帰ってきた。あたまおかしい。

その間、何をしていたかと言うと、japljさんと二人でGのソースコードデバッグをする。幸い、単純なifやforの条件ミスで、すぐに通る。解法疑ってめっちゃ申し訳ない。

残った2問、まずH問題をきゅうりさんが書きに行く。サンプル以外全部RE。japljさんに交代。a_0 + b_0 + a_1 + ... がオーバーフローして添え字がマイナスになっているのでは、という話になったがサンプル以外全部REなのは違和感があったので注意深く確認する。が、やっぱりそこしかなさそう。

そんなこんな言ってる間にjapljさんが帰ってくる(最後の問題のコード、dfsとか書いてあってそこそこ実装ありそうなのになんか5分くらいで帰ってきた、まったくもうなんやねん)。
きゅうりさんが走ってオーバーフローを処理したコードを提出。


全員でジャッジを見守る。


二人のコードが同時にジャッジが終わり、両方ともAC。おそらく10完していたチームを2つくらい颯爽と抜き1位になる。



おそらく勝因は、各人が与えられた問題をしっかり解けた、というところだと思います。解法が全くわからなくて japljさんやきゅうりさんに泣きつく、みたいなシーンはほぼ見なかったように思います。特にksun48さんとkzyKTさんがガチプロしていて、結果japljさんときゅうりさんが本当に実装するだけ、みたいになったのは本当に良かったと思います。
また、あまりどハマりすることもなく、一番多くWAを出した問題でも2回、全体で5回しか出していないのも本当に良かったと思います。

あと、サンプルが通らない場合はとりあえず提出してモニタの方でバグを探す、としたのも本当に良かったです。ICPCでもとりあえずソースコード印刷しようと思います。

PCが空いている時間もほぼなかった。
(なんか考えれば考えるほど本当に完璧すぎるチーム戦だったのでは???)


という感じでした。

f:id:riantkb:20161127223306p:plain

f:id:riantkb:20161127223317p:plain
こちらが、各問題のAC時間になります(全提出は見る権限がなかった)


トーナメントと合わせて2回も壇上に上がれてほんま嬉しい。



(TODO : 全体の感想とか、今後の目標とか)


ひとり Advent Calendar 2016 - Adventar
を、お楽しみに!!!