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 アナリティクスについて 特定商取引法に基づく表記