AtCoder Japan Open 2025

日本国内の競技プログラミング大会では,一番レベルの高い大会です.予選を通過して,決勝大会に選手として参加しました

コンテスト

A

substring だと思ってしまって包除原理 $O(N/K)$ 的なものをとりあえず実装するも合わなくて苦しむ(15 分ほど).気づいて B に行く.

B が終わったあと考えて,禁止地点のあるグリッドパスの数え上げにして,でもまだまだ大変な気がしていたらよく考えると $O(1)$ になっていた.綺麗.

B

個人的にかなり簡単だと思える問題だった.$N$ なのか $N+1$ なのか程度の実装ミスがあったが,数分で AC.結果的に,簡単枠として瞬殺出来ていたのは $2$ 人しか居なかったようで,稀にある「自分が解けて周りがあまり解けない問題」を引けていたらしい.幸運.(問題内容的に得意そうな人もかなり落としていて意外性)

E

フローになる.カットにする.カットというのは指数通りあるが,良いソート順が定義できて多項式時間にはなる.$0\leq n,m\leq N$ の範囲で $f(n,m)$ の最小化する問題になる.

詳細は覚えていないが,どちらかについての凸性が言えた気がして,とりあえず $2$ 変数の凸最適化をしてみる.提出すると 「25AC 1WA」.暫定的な最適解の近傍を探索して,AC になってしまった.

C

提出は結構されていたのでしばらくこれを考えた.しっかりとグリッド用紙を用意してきたのでそれが役に立つ場面が来たか?

黒マスがない場合は有名で,その場合の解法を改造する方向性で考えるが,ちょっとそれよりも本質的に難しい線形代数が登場してしまう気がするし,少なくとも実装がかなり大変だという予感がしてしまう.

D

謎の多項式行列積ということになる.多項式行列を $v=L,L+1,…,R$ について掛けるということで p-recursive のアレを思い出すが,全然違いそう.そもそも $K$ が大きすぎて解法イメージがなさすぎる.

というわけで,いったん $L=1$ で実験してみる.なんかいい感じになっている.なので一般の $L,R$ でも実験すると,等差数列出現している.だとすれば,あとはちゃんと実装すると AC では?この時点で終了 50 分前くらいだったはず.

実装が終わって,残り $20$ 分以上.これは勝ったな?→ バグらせたままコンテスト終了.

一番難しいところの愚直合わせも完了していたのにどうして….通せるかで順位が変わると思いながら解いていたので焦り続けていたし,この大事な場面でバグが見つけられないことが本当に情けなく感じていた終盤戦だった.

(結局,ほぼ出来てはいたものの,実装ミス以上の勘違いがあって~という感じだった.)


E がちょっと正当性の保証が怪しい感じの AC だったということもあって,D はきちんと解き切りたかったのですが残念.しかし,D のミスのせいで順位が変わるということがなかったのは幸運でした.

結果・感想

1 位でした.https://atcoder.jp/contests/ajo2025-final/standings

何割かは表彰式挨拶で話したこと.

大会について

まず,日本最強を決める名目の大会があってほしいというのは長く思っていました.学生最強,中高生最強,女性最強などを競うコンテンツが出来ていくのは良いことではあるとは思っていましたが,日本大会がないまま参加資格を縛る大会ばかりが出来ていくのは変だと感じていました(自分に権利があるかという観点もいくらかはあったとは思いますが).

なので,昨年 AtCoder Japan Open が開催され,今年さらにイベントの規模が拡大して,競プロコミュニティからの注目度の高い大会となったことはとても嬉しく思っています.

自分は競技プログラミングに e-sports・マインドスポーツのような娯楽として向き合ってるし,上位層の競技シーンやプレイヤに注目を集めたり,そこから憧れて自分も上を目指したいと思う人が増えるような流れが出来てくれると嬉しいですね.来年以降も是非,注目度の高い大会であり続けて欲しいと思います.


1 位という結果について

1 位という順位自体は有象無象コンテストも含めると飽きるほど取ってはいますが,オンサイト決勝大会のような場では初めてなので,とても嬉しいです.

今の力関係を維持できたと仮定して,日本大会が開催され続ければ,ある程度の確率では自分にも優勝チャンスが回ってくるかなという感触は正直ありました.ですが,今の力関係を維持し続けられる保証もないし,いずれにせよ競技人生の中でその確率を 1 度も引けないこともありうると思っていました.今回はその数少ないチャンスに恵まれました.良かったです.

今後

まあ再び Japan Open で優勝しちゃいますか?頑張ります.

また,日本大会ではなく世界大会の類でも結果を出せると嬉しいですね(こちらは優勝チャンスが回ってくるかなという感触はありませんが).なお,早速来週に Meta Hacker Cup があります.

とはいったものの,自分はもはや普段は,強くなるぞ,レート上がれ,優勝するぞ,というようなモチベーションはほとんど意識していません.多くの問題を AC して競プロの世界を多く知れたら嬉しい,くらい.こういうと純粋で素敵なことのように思われるかもしれませんが,自分のレベルだとまだ少しの勘違いで簡単に 1, 2 時間吹き飛んでしまうことだらけで,そこに真剣に向き合うことを避けている結果でもあります.

最近は Codeforces Problemset 埋めを楽しんでいます.来年の Japan Open は,Codeforces 全埋めマンとして参加するつもりなのでよろしくお願いします.

余興

$2$ 種目とも昨年経験済.昨年は他に,

  • リスニング:問題文の日本語音声を聞いて問題を解く.
  • 伝言ゲーム:$3$ 人のうち $1$ 人目だけが問題文を見ることができる.伝言して $3$ 人目が問題を解く.

などがありました.

パズル

$3$ つの問題文が,たくさんの substring に分割されていて,それらがミックスされている.問題文を復元して,解け.

$80$ 分あったのですが,$30$ 分くらい経っても全然わからず $0$ 点を覚悟状態.結局何とか問題文は復元し,自分は B を実装しました.パズルパート,疲れてかなり諦めたくなってきてしまうのですが,結果的にどこのチームも問題文は復元できていたようですごい.

開発熱心な方が居れば一般の方に遊んでいただくこともできそうですが.でもあの,似たような単語がいっぱい混ざってくる感じの $3$ つの問題文が用意されているのがすごいんですよね.単に似た問題文になるように作っているのかな?ちゃんと解き筋が残るような調整も意識しているのかな?

陣取りゲーム

観戦ブース側が盛り上がったように聞きましたがどうでしたか?

$10\times 10$ のマス目があり,各マスには abc_123a のような問題番号が書かれている.各マスが,その問題について FA したチームのものとなる.自分のチームのマスの連結成分サイズの最大値を最大化する勝負.

昨年も完敗だったのですが,今年も完敗でした.そもそも解いている問題数が私の倍近い参加者も居たようで,E 問題とかは避けてもっと A, B 問題のレベルの回収に熱心になった方がいいのだろうか.あとは敵チームと狙う場所がかぶると序盤にもう見込める理論値がかなり少なくなって挽回不可能な感じが.難しい.


わたくし余興ぜんぜんダメです.こっちも大会に参加し続けられれば勝てる回が回ってくるのでしょうか?謎.

AtCoder
スポンサーリンク
シェアする
maspyをフォローする
maspyのHP
タイトルとURLをコピーしました