feature image

2025年7月12日 | ブログ記事

ICPC2025 国内予選 参加記 (Bob: Solalyth 視点)

Solalyth (Alyth) と申します。課題を面倒くさがっていたら一週間経っていたので、忘れ去られる前に放流します。

ICPC2025 国内予選に Bob というチームで参加しました。結果は全体 35 位・学内 10 位でした。

チームについて

チームメンバーは全員学士 1 年生 (B1) で構成されています。

Solalyth

私です。高 2 の春に競プロを始め、高 3 の 6 月に AtCoder 青色になりました。4 月末から競プロを再開し、早速 7 連続水パフォを出して水色に落ちたものの、そこからはありえない結果を出して +344 も伸びました。国内予選時点でレート 1787 で、チーム内最高レートを担当しています。

本番前に青色に戻れてよかった~

使用言語は Rust です。なんと C++ を触ったことがありません。陰謀により ICPC では Rust を使用することができないため、月一つかけて C++ をちょっと勉強しました。実装ミスを見つける係と考察を担当します。

みどりむし (kakurenbo_uni)

AtCoder 水色です。幅広い知識と巨大なライブラリを持っています。

チーム内で最も C++ に精通しているため、後述の arisu が書けない問題はほとんどみどりむしに書いてもらいます。書ける問題が無くなったら考察もしてもらいます。

今回は電子的準備が許可されていたため、環境もみどりむしのものを完全に流用しようとしましたが、提出コード長に引っかかり、かなりの機能を制限したものとなっています。かわいそう。

arisu_0086a2 (karas1)

大学に入ってから競プロを始めたらしいです。国内予選時点で AtCoder 茶色ですが、すぐに緑色になると思います。

序盤の実装だけ担当してもらおうかな…と思っていましたが、とても良い考察をするので後半は一緒に考えます。

チーム名について

アリスが 2 人居たので、流れで Bob になりました。Alice のほうが縁起良いような気もします。

国内予選模擬

D 問題 (Guess the Parentheses) は珍しく私が書いたのですが、凡ミスを重ねに重ね、2 ペナ出してしまいました。(青コーダーさん、その問題 D 問題ですよ?)

構文解析の E 問題はみどりむしに書いてもらいました。明らかに他 2 人が役に立たないので、ICPC 練習戦で構文解析が出たときも丸投げしていました。通してて偉い。

F 問題 (Anti-BCC) は明らかに DP ですが、実装が面倒そうな雑考察を残してより解かれている H 問題を見ていました。こちらはなかなか良い考察ができたのですが、考え方が微妙にズレていて、解き切ることはできませんでした。

結果は全体 55 位・学内 9 位でした。

国内予選

なんで金曜日に開催するんですか!?

国内予選-準備

エナドリを買いましたが、結局飲み忘れました。

国内予選-A 2025

arisu に と伝える係をしました。

国内予選-B 接頭辞と接尾辞を同じに

タイトルがダサい。arisu に頑張って実装してもらいます。

国内予選-C 働き者のカレンダー

AB を書いている間に少し考え、arisu を操作して書いてもらいます。

国内予選-D 古代のゲーム盤

実装が思いつきません。みどりむしが解けたらしいので丸投げします。ペナが連出したので実装方針を聞き、コーナーケースっぽさそうなものを投げると落ちます。修正してもらうと AC が出ました。想定解法が綺麗で驚きました。

国内予選-E 航路廃止

ここらへんで印刷された問題が配布された気がします。

星 1 から出発する旨を見つけるまでが最難関です。すぐに解法が立ち、D 問題を解いた流れでみどりむしに書いてもらいました。

国内予選-F 犬の芸

A, B, a, b が登場して頭が破壊されました。練習戦で「初めの一手で初期状態を破壊してシンプルにする」問題を解いたため、arisu がすんなり方針を立てます。アリス 2 人組が補助しながらみどりむしがなんとか実装します。

国内予選-G 面の数

正直 G 問題は解けないかな~と思っていました。が、学内含み多くのチームがが通しているので気合いを入れます。

問題設定が若干分かりづらいです。「頂点の位置が決まると凸多面体は一意に定まる」と書いてある通り、二辺が同じ向きであることと四角形の二辺で消費することは同値なので、二面の角度のずれを決めると直ちに面の数が定まります。同じ向きにする辺のペアを全探索すればよいです。

浮動小数点数で計算すると誤差で assert が落ちたため、急いで整数範囲で計算するよう直すと、なんと終了 3 分前に通りました。

国内予選-感想

G まで解けたし高順位でしょう!と淡い思いを抱いていましたが、蓋を開けてみると全体 35 位・学内 10 位でした。どうやら Yokohama Regional に出るには全完する必要があったみたいです。

科学って、魔境。

劇的な易化で上位勢は苦しい戦いを強いられていましたが、突破不可能チームとしては最後まで手も頭も動いたセットでとても楽しめました。とはいえ、いつか突破することを目指し、考察も実装もスピード感を持って出来るようになりたいですね。

来年の ICPC までに AtCoder 黄色になるのを目標にしたいと思います。果たして出来るのか。

おわり。

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

この記事をシェア

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

関連する記事

2023年9月26日
traP コンペ 2023 夏 sponsored by ピクシブ株式会社 運営後記
abap34 icon abap34
2023年7月13日
アルゴリズム班はやとき王選手権「競(けい)プロ」を開催しました!
abap34 icon abap34
2022年10月11日
アルゴリズム班にKaggle部を設立し、初心者向けデータ分析体験会を開催しました!
abap34 icon abap34
2021年4月18日
ベズー係数とN項の拡張ユークリッドの互除法
0214sh7 icon 0214sh7
2023年7月5日
Kaggle部で機械学習講習会を開催しました!
abap34 icon abap34
2023年4月29日
CPCTF2023 PPC作問陣 Writeup
noya2 icon noya2
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記