競プロ典型 90 問
日曜を除く毎朝 7:40 に競プロやアルゴリズムの教育的な問題を Twitter(@e869120)に投稿する企画です。
本企画は、2021 年 3 月 30 日から 7 月 11 日まで行われる予定です。
企画の目的
「競プロ典型 90 問」は、競プロ初級者から中上級者(レーティングが 300 から 1999 程度の参加者)を主なターゲットとし、アルゴリズム構築能力を向上させたいという目的で立案されました。
考察ステップだけでなく実装の仕方なども重視するため、サンプルコードはすべての問題でアップロードされる予定です。
出題される問題は教育的な問題や典型問題が多いです。既出があるかもしれませんが、企画の性質上ご容赦くださいませ。この場合は解説に出典を載せておく場合があります。なお、有志コンテストなどの作問者に影響を及ぼさないようにするため、問題は被せないように努力します。もし被ってしまった場合、この問題は典型です。
アルゴリズム本・競プロ本の演習問題のような立ち位置を目指しています。
この github ディレクトリについて
主に以下の 4 点をアップロードします。
- 出題された問題の画像(
/problem
) - 出題された問題の txt ファイル(
/problem-txt
、文章の方が見やすい人向け) - 問題解説(
/editorial
) - 各問題の入力形式・入力例・出力例(
/sample
、2021/3/30 追記) - 問題の想定ソースコード [C++](
/sol
)
なお、各問題には 001 ~ 090 までの番号が付けられており、問題・解説・ソースコードが番号で一対一対応されています。
問題の難易度について
基本的に以下の 7 つの段階にレベル分けされています。
レベル | AtCoder Problems Diff. | 備考 |
---|---|---|
★ | 149 以下 | ABC の A, B 問題に相当する難易度です |
★★ | 150 ~ 399 | ABC の標準的な C 問題に相当する難易度です |
★★★ | 400 ~ 799 | |
★★★★ | 800 ~ 1199 | ABC の標準的な D 問題に相当する難易度です |
★★★★★ | 1200 ~ 1599 | ABC の標準的な E 問題に相当する難易度です |
★★★★★★ | 1600 ~ 1999 | これが安定して解ければ上級者です |
★★★★★★★ | 2000 以上 | チャレンジ問題ですが、90 問の中でも出題されることがあります |
難易度投票について(2021.4.2 追記)
管理者の難易度判定は完璧なものではなく、現状 ± 1 段階程度ずれることがあります。
そこで、皆さんにより正確な難易度を知っていただければと思い、難易度投票スプレッドシートを追加しました。
皆さん投票よろしくお願いします。
他言語などのソースコード共有について(2021.5.31 追記)
現在、C++ 以外の言語のソースコードが見られないこと、そして色々な解法や実装を見比べられないことが、重要な課題となっています。
皆さん、AC が出て解説が公開されたら、ソースコードを共有していきましょう。
共有方法については、「ホーム」の下部に書かれていますので、それをご覧ください。
テストケースについて(2021.5.31 追記)
解説公開後、テストケースが順次公開されていきます。リンクはこちらです。
問題文やファイルのミスを発見した場合(2021.4.6 追記)
基本的に Pull Request でお願いします。
Merge は管理者の E869120 が行いますが、原則 24 時間以内に対応できます。
その他
この企画について、ご質問やご意見などがございましたら、@e869120 までお問い合わせください。
どうぞよろしくお願い致します。