AtCoder Beginner ContestとJOI、参加者帯は割と重なっています。ただ、それぞれの思想によって、問題内容が異なっています。今日はその違いについて考察してみます。
思想
ABCは、「競プロの典型」に目をつけたコンテストだと思っています。実際、多くの場合Eまでは「典型アルゴリズムをどう当てはめるか」というコンテストです。そのため、わかりやすい問題が出題されやすいです。これは、競プロ初心者にフォーカスし、学習を促すというものだと考えられます。また、毎週実施されるため、大量の問題で練習させるというものでもあります。
対して、JOIは「日本代表の選出」をする大会で、ジュニアオリンピックの一つです。よって、学習を促すよりも、思考力と実装力を測る問題が求められます。また、年に一度しか実施されないため、より質の高い問題が求められます。
実際の出題傾向
ABCは先述の通り典型問題がよく出題されます。グラフに読み替えたり、二分探索をしたりする問題が多いです。ただ、普通に使うだけだと解けません。いくつかのデータ構造・アルゴリズムを組み合わせて解く必要があります。
JOIは、典型問題が少ないです。ある程度高度な考察が必要となり、また、実装が重いです。逆に、事前知識はそこまで必要ありません。2次予選であれば、二分探索とdijkstra法ぐらいまででしょうか。
まとめ
どちらも異なる役割を果たしており、それぞれの役割において最適な問題が出題されています。上達のためには、どちらも有効活用することが大事になってくるでしょう。