概要
2026-07-03 16:30-19:30 (JST) に実施された ICPC 2026 Yokohama 国内予選にチーム kokuu として参加しました。
全10問のうちABCDEFGHの8問を解き、全体11位(学内3位)を獲得しました。
Yokohama Regional大会に参加できそうです。嬉しい!
チーム
チームメンバーは次の3人です。
去年解散したACORNからchoを回収し、黄色を3人集めました。
Sotatsu,choはICPC出場は5回目でラストイヤーです。引退のときはポエムを書いてもらいます。
チーム名 kokuu はSotatsuの提案です。漢字では「虚空」で、二十四節気の一つではないです。
そういえば、にじさんじに「虚空」を冠する本がありましたね。用意しましょう。

用意しました、剣持刀也が出したエッセイ本である虚空教典です。これでVTuber由来のチーム名であるという嘘語源を主張できるようになりました。
練習
3人でUcup(5h)を走ったり、codeforcesのgymで3hセットを走ったり、AtCoderの有志コンを走ったりしました。
AtCoderの過去の有志コンはバーチャル順位表の情報量が無でやりにくいですね。
gymはAsia Taiwan Online Programming ContestやFirst Masters Championship LATAMなどを走りました。
授業などがあるのでチームでは昼食時に集合しその後コンテストを走るという形式が多かったです。

これは先輩2人を連れてVTuberコラボカフェに行く異常競プロerの写真です。皆様も周央サンゴを見ましょう。
そういえばICPCに出場する競プロerには学年という概念があるんですね。意外だ。
模擬国内予選
模擬国内予選に参加しています。
参加記があります。負けたのでサムネイル画像を用意する気が起きず、内容も簡素なものになっています。

環境構築
今年のICPCも電子的準備が可能となっているため、私のmacbookにコンテスト用環境を作りました。
去年に引き続きコンテストシステムとしてDOMjudgeが使用されており、問題ごとにsamples-{{問題名}}.zipの形式でサンプル入出力がダウンロードできます。
ダウンロード先をICPC用ディレクトリに設定しておきます。
コード実行時にサンプルを自動で展開、実行して出力を比較するスクリプトを用意しておきました。
この程度のスクリプトであればChatGPTが数秒で用意してくれます。時間・メモリの計測は大事なのでYokohamaにも持ち込みましょう。
$ ./run.sh A.cpp
Compiling A.cpp ...
Extracting samples-A.zip ...
running 1
[AC] 1 (0.66s, 6279168B)
コンテスト前
リハーサルでスクリプトの動作確認を行いました。
東工大(現 東京科学大学)の38チームすべてが会場に集まり、ルールの最終確認・使用機器の確認を行います。
Tier S席(一番後ろで広いスペースを使える)はすでに取られていたのでTier Aの最前列での参加です。戦いはコンテスト5時間前から始まっている。

東工大では会場の教室は飲食禁止なのでいつでも会場から退室できるようにドアの近くを陣取るのが良いとされています。
私が会場の外で準備体操をしているとzer0shikiも一緒にラジオ体操をし始め、Chronusもそれに加わりました。
kenken,comaviusが腕立て伏せをしていたけどこれからタイピングをするのに腕を酷使するのはどうなんだ?
後ろの方でtakue2がAのFA狙いで入力形式予想を始めていてこわかった(素朴な感想)
コンテスト
初動はだいたい固定しています。
- Nzt3が問題を開き、Aを実装する。
- その間に残り2人がBを読み、Aが通り次第誰かが実装をする。
- Bを実装している間にCを読み、Bが通り次第Nzt3が実装をする。
- D以降を解く。よほど自明でなければ実装の整理も兼ねて1人には説明する。
私がCを解けないことはないだろ〜(フラグ)
A (AC 0:01)
Nzt3
問題文の漢字が読めない。大富豪とか五大老とか書いてある気がする。
大富豪のルールで一番強い数字を答えることがわかったので入力をすべてsetに入れて2,1の存在を確認したりmaxを出力したりする。
結構悩んじゃった。
B(AC 0:04)
Sotatsu
私はこの問題に触れていません。
一瞬で通ったという印象。
C(AC 0:11)
今までに10回くらい見たことがある図が貼られている。
choに左右累積minまで教えてもらったけど私は頭が回らず何も理解できなかったのでchoに実装を投げる。
一部勘違いがありサンプルが合わない。修正してAC。
D(AC 0:39)
数列の項目を求める。が大きいので数学か実験だと思う。
みんなで法則性を探すと、の場合は明確な繰り返しが見つかる。でも項目から先は明確な法則がわかる。
愚直解を書いてを回すと、choが項目までの法則に気づく。
私がそれを実装してAC。
E(0:43)
cho,Sotatsu
私はこの問題に触れていません。Dを実装している間にすべてが解かれていた。
F (WA)
Sotatsuから座標圧縮して距離を前計算、クエリではゴールのあるブロックから上下左右一直線の部分を全部見て計算すれば良いと教えてもらう。
ここまで教えてもらえば実装するだけ。
私が実装するが、障害物をすべて無視したマンハッタン距離が出てくる。印刷して確認すると座標圧縮したインデックス→座標への変換が壊れていそう。修正するとサンプルがあったので提出。
WA
印刷してデバッグへ。パソコンをchoに渡す。
G(合わない)
choが実装。
サンプルが合わない!
F (AC 2:04)
y軸の変数がx軸の座標圧縮を参照していた。
修正して提出するとAC。
こういうミス、無駄です。
H(2:09)
Sotatsuが一人で全部やってくれました。
いつ問題を読んでいつ実装したのか把握してないです。
G(AC 2:22)
2つのコマが衝突しないような経路を数え上げたいので、衝突を無視した全経路から衝突する経路を引くことにしているらしい。
衝突位置が限られるので全探索しているが、右方向への移動で衝突するパターンが漏れていた。
これを追加してAC。
I(通らず)
順位表を見るとPhantasmがIを通している。
増加と減少は同じ数起きるので増加だけに注目する。
コスト1での改善が一番大きいところにコストを1使い、改善を再計算することを繰り返す貪欲に正当性がありそう。改善量の閾値を決め、それ以上の改善をすべて採用することにすると二分探索が可能であることにSotatsuが気づく。
私が実装してみるが、何も合わない。
コンテスト終了後
Sotatsuが覚醒してHを通してくれたので全体11位になりました。通過確定です。
私はCが解けないくらいには頭が回ってなかったので危なかった。
完数で勝ったのでzer0shikiを煽りに行ったらH問題の話を振られるが、私は問題を読んですらいないので何も言えない。
Murakumoがペナ祭りを開催した話やsshが誰もbitDPを理解していなかった話、RGBが強いという話を聞きました。
一部は国内予選後カレー部に行きますが、一部は行きません。(英語の教科書の例文?)

おわり
ところで、大学対抗プログラミングコンテストだから大学ごとに戦うべきですよね!
今年の東工大(Institute of Science Tokyo)の結果は184完でした!
出場チーム数が28から38に10チーム増えたこともあり、去年の150完から更に記録を伸ばしました!
B1だけで構成されたチームであるRGBが7完しており、未来は明るそうです。来年も楽しみですね!
コーチをしてくださったshobonさん、コンテストの運営をしてくださんた皆さんに感謝です。
次はYokohama Regionalでお会いしましょう!
