feature image

2026年7月4日 | ブログ記事

ICPC 2026 国内予選 参加記(Chronus: Rice_tawara459)

こんにちは。こめだわらと申します。

ICPC 2026 国内予選に、チーム Chronus で参加しました。結果は 9位 (学内2位) で、無事国内予選突破となりました。

チームメンバー

チーム結成

4月くらいには、知り合いの暖色たちは既にほとんどチームを組んでいました。残っていそうな中から強そうな人を探すとrhooくんがおり、rhooくんを誘いました。残りの1人をrhooくんに相談すると、cazくんが残っていそうと言われたので、誘いました。結果的に、かなり強いチームが誕生しました。

コンテスト前

昼はある程度早めに集合したつもりでしたが、tier S の席(一番後ろの窓側)は既に取られていました。しかたなく、一番後ろのドア側の席に陣取ることにします。

環境が最強であるrhooくんのPCを演習室のモニターに接続し、演習室キーボードを拝借してセットアップをしました。

リハーサルもしました。MLの確認、実行速度の確認などを行いました。軽い配列外参照程度ではREではなくWAが出ることを確認しました。

コンテスト本番

最初の実装はrhooくんです。画面を縦3分割し、左にA問題、右にB問題、中央にvscodeを置きます。

A問題

簡単そうだが、rhooくんは少し混乱していた。丁寧に場合分けしてAC。(0:03)

B問題

cazくん。私は全く見ていない。知らない間にAC。(0:04)

C問題

私の担当。左右からmaxを累積するだけ。のはずだが、なんか合わない。入力を睨むと、入力で与えられるものは深さだったのに対し、高さだと誤読をしていた。入力を100000-d みたいに強引に修正してAC。(0:09)
ちなみに気づいていなかったが、制約が なので累積すら必要ないらしい。

D問題

最初はrhooくんの担当。規則性が見えづらいらしい。少し不安だったので、私も一緒に見ることにする。図を書くとなんかいけそうだったので、残りはそのまま私が担当することに。紙の上で丁寧に場合分けをする。先にEが解けたらしいので、そっちを先に解く。

E問題

cazくんの担当。知らん間に爆速で通る。偉い。(0:26)

F問題

rhooくんの担当。Dを私が巻き取ったのでFに向かった。私がDを詰めている間に解けて、すぐ実装できると言われたので、そのまま実装を譲る。が、これは判断ミスで、後から分かることだがハズレ方針を引いていた上に、思った以上に細かい部分の実装が大変そうだった。一応書き上げるが、サンプルが合わずPCが回ってくる。

D問題(2)

私が担当している。場合分けが多いので、丁寧につぶしていく。1ケース くらいはかけていいので、少し楽をする。愚直を簡単に書けるので、書く。なんかサンプルが合わない。Fと交代しながら、バグを特定。普通に変数名を取り違えていた。サンプルが合ったので提出。AC。(1:04)
せっかく書いた愚直は結局全然使わなかった。

G問題

cazくんの担当。私とrhooくんがDとFをやっている間に詰めてくれていた。爆速で通す。偉すぎる。(1:18)

H問題

cazくんの担当。私とrhooくんがDとFをやっている間に詰めてくれていた2。爆速で通す。本当に偉すぎる。(1:35)

F問題(2)

サンプルが合ったので提出するが、TLE。よく見ると、O(QM^2) とかかかっていたので、それはそう。

D問題を通した後の私がサポートに入っていた。長方形の角(+始点と終点)を頂点とする 頂点のグラフでダイクストラをする方針。これだと、辺を張れるかの判定に かかるので、終点からの各辺の列挙にO(QM^2) かかってしまう。平面走査などをすることで、 に落とすことはできて通りそうだが、激ヤバ。しかし他に方針も思いつかないので、rhooくんが頑張って詰めることになった。

後で正解方針を聞くと、座標圧縮をして 頂点のグラフを作れば、もっと簡単になったらしい。全然思いつかなかった。何のためにサポートについたのやら。

F問題をrhooくんに託し、私はI問題へ向かう。こういう激ヤバ実装を通しきることに関してrhooくんはかなり強く、とても頼もしい。気合いでAC。(2:18+1)

I問題

私が担当をする。解の形が制限されるなどを考えたが、あまりよく分からない。考察を抱えたままトイレに行くと、「数列の増加分の総和=区間に1を加算して数列を構成する最小回数」みたいな話を思い出す。これをもとにすると、1を足すことで到達時間が最も短くなるような区間を選び、1を足す、という貪欲法が考えられる。これは実際正当そうだったので、到達時間の減少量の下限を決め打つ二分探索による解法が経つ。整理して、実装できそうと思ったところで、Fが通る。PCをもらい、実装する。

実はここまで全然順位表を見ていなかった。Fを通した時点で9位だったはず。10位以内での進出を確定させたいので、ここは何が何でも通したいところ。

ある程度実装は詰めていたので、そこまで苦労することなく書き上げたつもりだったが、サンプルが合わない。何ヵ所かヘマをしており、チームメイトに指摘してもらいながら直す。サンプルが合ったので提出。WA。

よく考えると、Fを使い切ることを仮定して実装していたので、全区間で速度上限が達成可能なパターンでバグっていることが発覚。その場合の処理を追加して再提出。またWA。

全然原因が分からず、ヤケクソ1提出をして、そのままコンテストが終了。無念。マジで通したかったので本当に悔しい。逆こめだわらさんありがとうになってしまった。

執筆時点で気づきましたが、一個処理をミスっている箇所に心当たりがあります。直したら通るかな…と思い、記憶をもとに書き上げ、公開されているテストケースを試したら、修正後のコードが通りました。マジで悔しい。

コンテスト終了

結局Fを通した後に逆転されることはなく、9位で終了しました。 Phantasm に次いで学内2位で予選突破です。マジでよかった。

cazくんが終始偉かった。rhooくんがFを通しきったのも偉い。私がIを通しきれば完璧だったのですが、残念でした。

おわりに

ひとまず最大の山場を突破できたので、安心しきっています。25Bの二人の活躍も素晴らしかったです。横浜でも彼らには期待しています。

科学大の残りの通過チームは、kokuuとzer0shikiです。おめでとうございます。sshはzer0shikiと1位差で、惜しかった。続くチームも、どこも通ってもおかしくないチームばかりで、本当に激戦でした。来年私が引退して以降も楽しみですね。

ここまで読んで下さり、ありがとうございました。

Rice_tawara459 icon
この記事を書いた人
Rice_tawara459

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2023年7月13日
アルゴリズム班はやとき王選手権「競(けい)プロ」を開催しました!
abap34 icon abap34
2021年4月18日
ベズー係数とN項の拡張ユークリッドの互除法
0214sh7 icon 0214sh7
2023年4月29日
CPCTF2023 PPC作問陣 Writeup
noya2 icon noya2
2023年4月21日
CPCTFを開催します
noc7t icon noc7t
2022年8月30日
【競プロer向け】母関数を習得しよう!
tatyam icon tatyam
2021年4月26日
CPCTF2021 作問者writeup by hukuda222
hukuda222 icon hukuda222
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記