akTAR.'s Blog

ICPC2025 Yokohama Regional 参加記

投稿日:2025/12/11


ICPC 2025 Asia Yokohama Regional Contest に参加してきました。

個人としては 4 回目の横浜です。

チーム紹介などは Taichung Regional の参加記の方に書いたので省略します。

文章の体裁はあまり気にしていません。

Akai_Koibito の参加記一覧

大会前日 (12/05)

9時過ぎに横浜に向けて出発。


飛行機の中で成瀬を読んだ。

成瀬は天下を取りにいく
成瀬は天下を取りにいく
著者宮島 未奈
出版社新潮社
出版日2023-03
分類小説.物語 (913.6)
ISBN 9784103549512
成瀬は信じた道をいく
成瀬は信じた道をいく
著者宮島 未奈
出版社新潮社
出版日2024-01
分類小説.物語 (913.6)
ISBN 9784103549529

実は母親に先に貸していて、「あまり刺さらなかった」と言っていたのでどうかと思っていたが、個人的にはかなり好きなタイプの作品だった。

少し個性的な人たちの日常を垣間見て、客観的に見れば小さな出来事に、一緒に一喜一憂する感じ。

重たい展開や事件が起こるわけでは無いけど、登場人物が良い人ばかりで応援したくなって、自然と引き込まれた。

読後感が似ているのか、なんとなく福田隆浩さんの「ふたり」を思い出して読みたくなった。

三作目(これで完結らしい?)が既に発売されているので今度買いに行く。


羽田についてからは、京急線に乗って横浜駅へ行き、そこからみなとみらい線に乗り換えて中華街のホテルに向かう。

毎年同じホテルに泊まっている。

4 年目だし慣れたもんよと思っていたら、京急本線にリュックを忘れてしまい頭を抱えた。

都会で物を忘れるのは初めてだったので色々不安だったが、 find chat で問い合わせをしてから 2 時間弱で連絡が来て、事なきを得た。素晴らしいサービスに感謝。


中高の友達が学会で横浜に来ていたので、横浜駅で軽くご飯を食べた。

ビーフシチュードリア
ビーフシチュードリア

内面は何も変わっていないようだけど、研究の話を聞いているとちゃんと時間は進んでるんだなと感じて、嬉しいような寂しいような苦しいような。良い時間だった。


夜は北大 OB の方々と一緒に中華街でご飯を食べた。

懐かしい方々と会えてまた少し感傷的になる。「某、pitsu さんが黒幕説」と「冷凍肉まん事件」はバカ笑った。

解散後は、お腹がいっぱいで特にすることもなかったので、シャワーを浴びてすぐに寝た。

1日目 (12/06)

5時前に起床。適当に時間を潰す。

お昼は北大勢の何人かで集まって食べた。

刀削麺に変更した酸辣湯麵
刀削麺に変更した酸辣湯麵

辛さにビビっていたが、一般的なレベルで安堵。刀削麺は初めてで、縮れたきしめんという感じで美味しかった。


会場についてすぐに中高の友達を発見。お互い頑張ろうみたいな話をする。

受付でも中高の友達を発見。流石に話せないが、嬉しい気持ちになった。


開会式が始まってからはいつも通り。

リハーサルではジャッジの速度や、手元の環境との差などを調べたりしていた。

去年から変わった点もいくつかあって、荷物はビニール袋に入れるのではなく会場の外に置くようになったり、食べ物が持ち込めなかったり。

風船が復活したのはとても嬉しかった。


この日の夜は、受付にいた中高の友達とご飯を食べた。

無制限食べ放題
無制限食べ放題

早い時間からお店に入ったので、そこそこ長い時間食べて話してをしていた。

近況や将来のことを色々語り合ってここでも時の流れを感じた。みんな幸せになってほしい。


元々 ABC に出るつもりはなく、ホテルに戻ってからはシャワーを浴びてすぐに就寝した。

いつも寝つくのに苦労するが、今年は生活リズムがかなり朝型に寄っていたおかげてすぐに寝れた。

2日目 (12/07)

6 時頃に起床。前日にセブンで買っていた野菜豚しゃぶ鍋的なものとおにぎりを食べた。

会場には時間通り集合出来て安心。

コンテスト

Today さんがセットアップ、titan さんが前から、自分が後ろから問題文を読む。

L は幾何。平行な直線の組があるときはよくて、そうでないときに答えの求め方が全くわからない。

K を読み始めてすぐに D が簡単そうという報告が titan さんから上がってきて話を聞く。

確かに簡単で、Today さんが実装を始める。順位表を見ると y_1 をはじめとしたいくつかのチームがペナを出していて、怖さを覚えるが特に危ないケースも思いつかない。

一瞬で実装が終わって提出。なかなか結果が出てこなくて不安になるが、無事にACを取る。3 位でびっくり。

再び英文読解パート。K が何をしているのか理解が出来ず、飛ばそうと考えたあたりで Today さんから H が簡単そうという報告がくる。

えー、めっちゃ可能枠っぽい。U 字で表現できる形が無さすぎるので、直観的にはバックトラックで良さそうだけど、序盤も序盤なので未証明で投げたくはない。

地雷の可能性もあるため一旦解散ムードになるが、わがままを言って少しだけ H に執着させてもらう。

順位表を見ると E が解かれており、titan さんが読み始める。

読解の後、概要を titan さんが話してくれていたが、このとき自分は「え、2 通り以上の置き方で表せる模様って存在しなくないか?これ H 解けてるだろ」で頭の中がいっぱいで、全然内容が入ってきていなかった。

titan さんの話が終わった後で Today さんにすぐに H の解法とその正当性を伝える。実装はやるだけなので、任せて自分は E に合流。

あらためて問題の概要を聞くと、有理数の二分探索で解けることはすぐに分かる。

最適解において、明らかにどれか一辺は過不足なく分割される(割り切れる)。

一辺の長さ LL を二分探索して、AL, BL, CL\frac{A}{L}, \ \frac{B}{L}, \ \frac{C}{L} のなかで一番整数に近いものを丸めて個数を求めればいいのではと思ったが、誤差が怖い。1

SBT 上の二分探索も考えたが、それが想定解なら流石にこの時間にこのチーム数が通すことは無いだろうという気持ちになる。

ここでしばらく手が止まるが、そもそも AL, BL, CL\frac{A}{L}, \ \frac{B}{L}, \ \frac{C}{L} のいずれかが整数になるんだから、それで二分探索すればいいじゃんと気づく。

H のサンプルが合わないらしく、一旦 E と交代して titan さんが実装を始める。割とすぐに H のバグが見つかって修正、AC 。

E もデバッグにかなり時間を取られたが、開始から 1:28 で AC 。この辺りはまだ 10 何番くらいで、色々詰まった割に順位は悪くないという印象だった。


ここからがやばくて、あまり思い出したくない。

ある程度解かれていた A, C, J を読む。

A は頑張ると DP できて、頑張りたくない。

C は 0 の日があればそこを基点に開けるが、そうでないときがよくわからない。

J は 構築。貪欲かフローか、よくわからない。一旦手を動かす必要がありそう。

一番マシそうな C に取り掛かる。0 の日があるときは stack とかで構築できますよね~という話を Today さんにすると、しばらくして「 queue にして先頭と末尾を最後によしなにつなげればよさそう」という考察を Today さんが生やしてくれた。

正当性は正直よくわからなかったが、他に思いつくものもなかったので Today さんに実装を任せて自分は離脱。

titan さんが J を考えていたので自分は A 問題を見る。

今になって振り返ると、このとき一旦みんなで解く問題を絞ろうという話が一切出なかったのが不思議。

台湾以上の成績を残すにはめちゃめちゃ上振れるしかないので、戦略としては間違っていなかったかもしれないけど、それを事前に話していなかったのは反省。

色々悩んだ結果、 A は DP をやるしかないかと腹をくくって遷移を書き出す。が、とても苦しい。

途中、titan さんから J の進捗を聞くと、「パターンが実はかなり少なく、これしかない」みたいなことを言われる。

簡単に手で確認すると確かに網羅できていそう( 大嘘! )。

じゃあこれは DP でいいですという話をして、 titan さんに実装を詰めてもらう。

C はかなり苦しいことになっていて、そもそも総和が大きいときに queue でシミュレーションしていたら TLE するということに全く気付いていなかった。

ペナを吐いてからそれを修正しようとしたが、最適解は別で高速に求められるのかがパッとわからない。

安直ではあるが queue に個数も一緒に持たせて管理する方針を提案し、 Today さんに書いてもらう。

C と J を交互に実装してもらいながら、自分は A の遷移をひたすら詰めていた。


長い時間苦しんでいたが、凍結後すぐに C のデバッグが終わり AC を得る。Today さんありがとうございます。

J は titan さんに注力してもらい、重労働終わりの Today さんに次の重労働の話をする。

実装方針や考え方をちょうどすり合わせ終わった辺りで、 titan さんからペナの報告を受ける。

J の考察・実装を Today さんには十分に共有出来ていなかったため、A の重労働を Today さんにやってもらい、自分が適宜それぞれのデバッグを手伝う方針を提案、実行する。2

J の実装をにらみ続けるが、ダメな点が見つからない。

J の validator を書いてもらったり、その間に A の詰まりポイントを聞きに行ったりという感じで行ったり来たりしていたが、そうこうしているうちに残り時間 10 分。

ここで、 A を捨てて J に集中することを決める。

この時点で、yes のケースを no と判定していそうだということがわかっていた。修正できるかはマジで運。

シンプルなケースで落ちていてくれ、と祈りながら ICPC の文字列と睨めっこしていると、残り一分で致命的に考察が足りていなさそうなケースを発見。

終了。


体感的には大事故だが、国内予選よりは高い順位を取っているし、実力はこんなものなのかもしれない。

解説pdf がすぐに上がっていたので、閉会式が始まるまでの間読んでいた。

A 賢い。DP 以外の解法を 1 秒も考えていなくてダメ。

結果的にそこそこ解かれていて、想定難易度も低めだった I も 1 秒も考えていなくてダメ。

反省点が多すぎて途中から思考を放棄していた。


懇親会はショルダーバッグを貰って早々に抜け出した。

ショルダーバッグ
ショルダーバッグ

手持ちの laptop がぴったり入るサイズで良い。

夜は会場で一番最初に会った中高の友達と食べ歩きをした。

小籠包
小籠包

大鶏排(ダージーパイ)
大鶏排(ダージーパイ)

いちご飴
いちご飴

沢山話せていい息抜きになった。来年もまた横浜で会いたいねという話をした。

playoff も行けたらいいな。

3日目(12/08)

帰宅するだけ。

JALから「雪のため東京に引き返すかも」という連絡が来ていて、最初は「やばーウケるー(笑)」と軽いノリで流していたが、ふたを開けてみるとそこそこやばかった。

何便も欠航になっていたし、自分の便も予定から 1 時間以上遅れた。無事に帰れてよかった。

おわりに

反省はゆっくりします。

Today さん、titan さん、nmy さん、運営に携わってくださった皆様、その他応援していただいた多くの方々に感謝です。

ありがとうございました。

Footnotes

  1. PCT さんの参加記 を読んだ感じ、これでも通るっぽい。

  2. これも戦略的には最善だったかもしれないが、それはそれとして自分は A の実装から逃げた自覚が明確にあって、本当に弱くて申し訳ないという気持ちになった。実装力に自信が持てないまま大会に突っ込んでいるのはひどすぎる。