Codeforces 全完

For English Readers → https://codeforces.com/blog/entry/155477

2026/07/26 03:13:42 JST (2026/07/25 18:13:42 UTC)

私は Codeforces の PROBLEMSET のうち, 「AC 不可能だと判断した問題」以外をすべて解きました.

対象とした問題

PROBLEMSET に収録されている問題を対象としました.

GYM はほとんど解いていません.私が解き進めたのは PROBLEMSET だけです.

また,以下の $31$ 問については理論上 AC が不可能だと判断しました.

775A, (92101 … 92114), 927A, 1160A2, 1576, (1639A … 1639K), 1885A, 1953A

これらが PROBLEMSET の unsolved problem の list を占有し続け、”Last Unsolved” からも消すことが不可能なのは、不具合ではないでしょうか?

モチベーション

これはよく聞かれることなのですが,説明が必要なほど特別な挑戦なのでしょうか?
個人的には、コンテストで高順位をとることや、レーティングという数値が増えることと比べても、非常に分かりやすく、誰でも共有できる目標ではないかと思っています。

競技プログラミングを続けているほとんどのユーザーには、問題を解いたり、新しいことを理解したりすることが楽しいという感覚を理解してもらえると思います。
その延長として、ひとつでも多くの問題を理解したいと思い、ACで埋めることを続けているうちに、結果的に全問制覇が近づいていました。
思い返すと、最初は Div. 3 をすべて埋めるところから始めたように思います。

ただし、道のりは厳しく、何日も進展しない問題もしばしばあり、本当に達成できるのか疑問に感じることもありました。

全問題を自力で解いたのか

いいえ。解説を見た問題は 300 から 500 問程度ではないかと思っています。
正確に数えたことはまったくないので、かなり適当な数字です。
また、直接解説を読んでいなくても、何らかのテクニックの解説やコンテスト後の SNS などを通して、間接的に解法を知った問題もあります。

ただし、解説を見た場合でも、基本的には内容や証明の大部分を理解したうえで、自分で実装するようにしています。
解答コードをそのままコピーするようなことはしていません。

一方で、すべての問題について証明を完全に整理したかと聞かれれば、自力で解いた問題についても、解説を読んだ問題についても、必ずしもそうではありません。
おおよその構造や正しさの理由を理解したところで、ランダムテストに通ればよしとした問題も多かったと思います。
特に、非常に複雑な exchange argument による最適解の構造の証明などは、すべてを厳密に整理しきるのは難しく、いくつかの問題ではあきらめました。

また、次のような例外もあります。

例外的な問題

解答コードのコピーなど、通常のコンテスト中には認められない方法を使ったものもあります。

  • 問題やジャッジ、必要なファイルのダウンロードリンク等が壊れているもの
  • April fool contest のような特殊なコンテスト
    • このようなコンテストでは、自力での考察だけでなく、解説を理解しようとする努力すらも放棄したものが多数あります
  • Kotlin Heroes などの言語指定コンテスト
    • C++ などで実装したものを AI で言語変換する方法も利用しました。これはコンテスト中に行った場合には明確な不正行為です。
    • 私が調べた範囲では、コンテスト外ではこれを禁止するルールは見当たりませんでした。ただし、コンテスト開催者やコミュニティから好ましく思われない可能性はあると考えています。

このように、単純に「Codeforces の全問題を解いた」と評価するには、ふさわしくない部分もあると思います。

感想

今回の成果は前人未踏のものだと思いますが、最高峰の実力を証明するものでもありません。実際、私よりも強いユーザーが同じことをやれば、私よりも短期間で同じことを達成することもできるでしょう。

また、この取り組みはコンテストでの実力には直結しないところも多いです。二度と出題されないようなマニアックな論文問題や本番でのACが0人であるような問題を鑑賞したり、何日間もかけてデバッグするようなことに慣れても、コンテストにはほとんど役に立たないでしょう。

それでも、私はこの結果に非常に満足しています。そして、誰よりも Codeforces ProblemSet を楽しんだと思っています。

ありがとうございました。

おまけの告知

最近、解いた問題の解法メモや実装、自分から見た難易度やタグなどを、過去に解いたものも含めて整理し始めました。(Codeforces PROBLEMSET に限定したものではありません。)
それらを GitHub Sponsors の有料プラン特典として公開しています。内容については公開サンプルレポジトリをご確認ください。

普段からお世話になっている日本の上位ユーザーについては、個別判断で無償共有します。 おおよその目安は、次の両方を満たす方です。(必要も十分も保証しません)

  • AtCoder Japan Open 参加経験があり
  • アクティブユーザーである(ある程度の頻度で私も参加するコンテストに参加)

希望する場合、Discord または Twitter の DM で連絡してください。 レポジトリの共有のために GitHub アカウントが必要となります。

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