せっかく出たので記録を残しておきます。アドベントカレンダー空いてたし!
自己紹介
北大B4、AtCoder青下位、OMC水
チーム紹介:elephant_spaghetti
chatGPTの選んだ適当な2単語。スパゲッティとは縁起の悪い...
yasagureprog さん
AtCoder 青上位で考察が強いイメージ。usatyo のスタイルと似ているので、勝手に目標にしている。言語は Python で、ICPC 初参加。自分と漫画の趣味が合う。
ococonomy1 さん
AtCoder 青中位でチームの中では典型や実装に強い。うらやましい。言語は C++ で、ICPC は2回目。
参加記:https://ococonomy1.hateblo.jp/entry/2023/11/27/212741
usatyo
レート的にチームの下っ端。数学系が得意のはず。言語は Python。ICPC 初参加
11/24
無事寝坊せずに空港へ。12時ごろ羽田空港に到着した。1週間前にも飛行機に乗ったはずなのに、着陸直前の死に向かう感じに慣れない。遊ぶ約束をしていた高校の友達が来られなくなったとのことだったので、ひとりで東京散策。夕方は OB の方と会う予定だったので横浜へ移動した。ホテルにチェックイン後、お店へ向かう。途中で見かける3人組が全員 ICPC 参加者に見えるが、そんなわけなかった。
OB は初対面の方が多く、初めてユーザーネームと名前が一致する。いろいろと裏話が聞けて楽しかった。就職後も続けていたら ICPC の運営に携わってるかも?会場が本物の中華料理屋という感じで、どの料理も美味しかった。ごちそうさまでした。
11/25
この日の集合時間は昼過ぎという大学生仕様になっていた。同じホテルに泊まっていた yasagure さんとご飯を食べて、リハーサルのため会場へ向かう。現地に着くと ococo さんがいたので、一緒に中へ。入り口近くに昨日会った tsutaj さんがいたが、公用語がいつの間にか英語になっていて「Ah, haha...」みたいなことを言ってしまった。
中に入ると PC が50台以上並んでいる広い部屋に通された。リハーサルは特に難しいことはなく、PC へのログイン、印刷・提出方法などを確認した。
夕方はチーム3人で中華街食べ歩き。イチゴ飴とかフカヒレ饅とか非日常感があってとても良かった。最後に頼んだバカデカ唐揚げに敗北しかける。
夜はなかなか寝付けず、ABC に出るも微妙な結果に。まあ Unrated だからヨシ!
11/26
ついに本番!!本番は朝 9:10 完全締め切りという小学生仕様。ひとりでも遅れるとまずいらしいので来年はチームで同じ宿に泊まるべきかも。机の上には大量のお菓子が置かれていたので糖分補給には困らなさそうだった。ここからは時系列順に覚えていることを全列挙。
コンテスト中
リハーサルと同様、usatyo が PC ログインと諸々の準備を担当。yasagure さんと ococo さんが A 問題を見る。文字列系だったが自分はあまり関わらずに、ococo さんが AC(11分)
ococo さんが解いている間、yasagure さんと B 問題を見るも、難航していた。他に上位のチームが F 問題を通していたので自分が F を見る。比較的すぐ解けたので自分がそのまま実装し、AC(35分)
その後一通り目を通して、自分の中で各問題の感触はこんな感じになっていた。
B:みんな通してるし、がんばればいけそう
C:問題設定を見たことがある気がしていて「いけるのでは?」と思っていた。どうやら作問時に接触していたらしい
D:文字列を圧縮するやつ。めんどくさそう
E:見てない
G:DP っぽさ。純粋な DP はおそらく TLE
H:むずそう
I:行列の形に直したが、わけわかめ
J:むずそう
K:幾何のインタラクティブ。本当に1024回以内でできる?
他のふたりが B の考察が終わったということで実装を進める中、解けそうな C と G と K を考察。ほどなくして、K のクエリの結果が線分と円の共通部分の長さであることを利用して解けることに気づく。B で WA が出たようだったが、デバッグして無事 AC(57分)とのこと。
K の実装を開始する。他のふたりはその他の問題に手をつけ始めたようだった。I が行列の形にできたことをメンバーに伝えて自分は K の実装を継続。しかし手元のサンプルケースが合わなかったため、印刷してデバッグを開始。
D が解けたが、ライブラリが必要とのことで、ococo さんの写経タイムに入る。何度か PC を譲ってもらいつつ印刷 → デバッグ → 提出を繰り返すが、K が通らない。ミスが5個くらいあった。最後に、整数で出力するべきところが実数になっていたことに気づき、修正すると AC(216分)。これは事前にインタラクティブ問題のデバッグ方法を確認しておけば防げたミスなので最悪。しかし、AC はしたのでメンバーに喜んでもらえた。
その後 G について、考察を進める。DP の遷移先が実際のところは少ないのではないかと思い至ったが、結局計算量の解析(分数の log とか出てきていた)が面倒になって断念。たぶん疲れていたのもある。ここは問題の本質だったので、もっと進めるべきところだった。最後にメンバーが D を AC(285分)してくれて盛り上がるも、残り時間的にここまでと判断し、実質終了。
5時間がこんなに短くまとめられるはずはないので、確実に抜けている部分があるが、大まかにはこんな感じ。
コンテスト後
結果は5完(ABDFK)で 41/58 チームだった。予選よりも順位が下がっていたのでちょっとがっかり。目標の tatitsu 超えもならずだった。ただ、改善点はいろいろ見つけられたと思うので来年の自分に期待。
懇親会はビュッフェ形式でまさかまた中華料理か!?と思ったが、一般的なビュッフェだった。IT 系では相当有名な企業やコンテストを主催しているような企業も参加していて、さすがだなーと思った。Google とか PFN とかいた。企業さんのお話を聞いているとマグカップやらクリーナーやらいろいろともらえた。あと、JPhacks に引き続き未踏の案内をしている人がいたので、今年出します!と宣言してきた。これで数ヶ月後の自分は逃げられません。
新幹線の時間の関係で、途中で抜けて仙台へ。
11/27
仙台の弟の家に泊まる。いつの間にか自分の方がブラコンになりかけてる。昔は逆だったのに...
11/28
飛行機で札幌着!!時間かかるけど今度はフェリー移動とかもしてみたいな。
まとめ
めちゃくちゃ楽しかったー!!!来年は全部克服して、できれば黄色になって出たい!!
(チームの反省点はococo さんがうまくまとめてくれていて言うことがありません)
個人的な反省点は、インタラクティブのデバッグの練習をしていなかったこと、C(実力的に無理な問題)に時間を使いすぎたこと、G(もう少しでいけた問題)を詰めきれなかったことの3つ。来年までに問題の難易度を見極める力と、前日の確認をしっかりする力をつけます。あとシンプルな実力も。
最後に、elephant_spaghetti のふたりに感謝!!ありがとう!!!