難問を解く
難問を解くためのテクニックをまとめた記事・スライドを掲載しています。
注意
- コンテストで出題された問題をもとに解説している資料では、ネタバレの可能性が高いです。
問題への取り組み方
着眼点・考え方を知る
- 競技プログラミングで解法を思いつくための典型的な考え方 - 問題を解くときの着眼点・言い換え・典型的な知識をカテゴリ別にまとめた記事。
- ABC 解説まとめ (高難易度のみ) - AtCoder Beginner Contest (通称、ABC)のG問題・H / Ex問題を中心とした解説がまとめられている。
コードを書いて観察
- 競プロにおける「実験コード」の書き方 - ある問題を解くときに、より小さな / 簡単な問題を解いて観察するための「実験コード」の書き方を紹介したスライド。実験コードが有効なケース、戦略、実践例が解説されている。
ジャンル別の問題集
- 過去に作った競技プログラミングのスライド集 - tsutajさんが作成した競技プログラミングに関するスライドのリンク集。包除原理、確率DP、数え上げテクニックなどの解説と練習問題が紹介されている。
- 競技プログラミング練習問題集 - 分野ごとに、手法の概要と類題がまとめられている記事のリンク集。
グラフ理論
木問題
- 高難易度木問題を解くテクニック集 - tatyamさんが、木問題の性質・考察をまとめたスライド資料。
ネットワークフロー
- 燃やす埋める纏める - 「燃やす埋める問題」の概略、問題として解ける制約条件、計算量、ライブラリの作成方針、練習問題などがまとめられている記事。
数学
整数論
- 整数論テクニック集 - kirika_compさんによる「整数論」に関するテクニックをまとめた資料集。
数え上げ
- もう数え上げも怖くない ―競プロ数え上げ問題40選― - Rho17さんによる「数え上げ」の問題の定石と考え方を解説した資料。後述の「数え上げテクニック集」よりも簡単な部分に焦点を絞っているのが特徴。また、紹介されている定石や考え方を利用した例題とヒントが掲載されている。
- 数え上げテクニック集 - DEGwerさんによる「数え上げ」の問題を解くコツが凝縮された資料集。難易度は、書籍「プログラミングコンテストチャレンジブック」(通称、蟻本)よりも、やや難しい程度と記載されている。
構築/構成
平面上で構築
- 平面上のロシアゲー(構築ゲー)を解くためのそこそこ一般的なテクについて - 平面上で何かを構築するタイプの問題へのアプローチ方法を解説した記事。