JOI本選対策ガイド
目標: 30位以内入賞(Aランク)
本番目標: 310点 / 練習目標: 350点(AI活用時)
競技形式
| 項目 | 二次予選 | 本選 |
| 時間 | 3時間 | 4時間 |
| 問題数 | 5問(2025年度から6問) | 5問 |
| 言語 | 複数言語可 | C++のみ |
| 開催形式 | オンライン | 2025年度からオフライン開催 |
本選Aランク基準点・人数(過去10回分)
| 年度 | 回 | Aランク基準点 | Aランク人数 |
| 2024/2025 | 第24回 | 306点 | 35名 |
| 2023/2024 | 第23回 | 279点 | 28名 |
| 2022/2023 | 第22回 | 268点 | 29名 |
| 2021/2022 | 第21回 | 300点 | 30名 |
| 2020/2021 | 第20回 | 311点 | 17名 |
| 2019/2020 | 第19回 | 301点 | 20名 |
| 2018/2019 | 第18回 | 219点 | 21名 |
| 2017/2018 | 第17回 | 233点 | 20名 |
| 2016/2017 | 第16回 | 205点 | 14名 |
| 2015/2016 | 第15回 | 241点 | 20名 |
傾向:
- 基準点は205〜311点の範囲で年度により変動
- 直近4年は268〜311点で安定傾向
- 2021年度以降「高2以下30名を超えない」ルールに変更
問題別難易度レンジ
| 問題 | 難易度帯 | AtCoder相当 | 特徴 |
| 問題1 | ★5〜6 | 緑〜水色 | 素直な実装・シミュレーション |
| 問題2 | ★6〜7 | 水色〜青 | 典型アルゴリズム応用 |
| 問題3 | ★7〜8 | 青〜黄 | 高度なデータ構造・考察 |
| 問題4 | ★8〜9 | 黄〜橙 | 複合的な知識が必要 |
| 問題5 | ★9〜10 | 橙〜赤 | 最高難度・満点者は極少数 |
目標設定
本番目標: 310点
| 問題 | 目標点 | 戦略 |
| 問題1 | 100点 | 満点必須(30分以内) |
| 問題2 | 100点 | 満点狙い(45分) |
| 問題3 | 60点 | 小課題3-4まで(60分) |
| 問題4 | 30点 | 小課題2まで(50分) |
| 問題5 | 20点 | 小課題1-2のみ(30分) |
| 合計 | 310点 | 予備15分 |
練習目標: 350点(AI活用時)
| 問題 | 目標点 | 戦略 |
| 問題1 | 100点 | 満点 |
| 問題2 | 100点 | 満点 |
| 問題3 | 70点 | 小課題4まで |
| 問題4 | 50点 | 小課題3まで |
| 問題5 | 30点 | 小課題2-3まで |
| 合計 | 350点 | |
本選と二次予選の本質的な違い
| 二次予選 | 本選 |
| 「満点を取る競争」 | 「部分点の積み上げ競争」 |
| 難易度5-6を確実に解けばAランク | 問題5の満点を取れる人はほぼいない |
| 問題1-3満点 + 4-5部分点 | 問題1-2満点 + 3-5で小課題を拾う |
小課題の戦略(超重要)
小課題は順番に解く必要がない
本選では小課題の見極めが合否を分ける。
例: 問題3の小課題構成が以下の場合
- 小課題1 (10点): N ≦ 100 → 愚直O(N²)で取れる
- 小課題2 (15点): 特殊条件あり → 難しい考察が必要
- 小課題3 (25点): N ≦ 2000 → 愚直O(N²)で取れる
- 小課題4 (50点): 追加制約なし → 高速化が必要
この場合、小課題2を飛ばして小課題1と3を先に取るのが正解。
見極めのポイント
- 制約を見る: N ≦ 500 なら O(N²) が通る可能性が高い
- 特殊条件を見る: 「全て同じ値」「木構造」などは別解法が必要なことが多い
- 配点を見る: 10点の小課題に30分かけるより、25点の小課題を優先
罠に注意
- 「N ≦ 500 だから愚直でOK」と思ったら定数倍で間に合わない
- 特殊ケース(N=1、空配列、自己ループ)を見落としてWA
- 小課題2の解法が小課題3に流用できない構造になっている
本選頻出アルゴリズム
| アルゴリズム | 頻度 | 出題問題例 |
| Lazy Segment Tree | 毎年 | 郵便局、ダンジョン3 |
| ダブリング / LCA | 毎年 | キャットエクササイズ、郵便局 |
| 累積max/min + 二分探索 | 毎年 | 色塗り、勇者ビ太郎2 |
| Functional Graph | 2年に1回 | 郵便局 |
| bit DP | 2年に1回 | 長いだけのネクタイ2 |
| 拡張グラフDijkstra | 2年に1回 | ミ・テレフェリコ |
| 座標圧縮 | 毎年 | 多数 |
| 円環の2倍化 | 頻出 | 勇者ビ太郎2、室温 |
| 差分配列・imos法 | 頻出 | 家庭菜園4 |
本選の心構え
□ 問題1を確実に取る(30分以内)
□ 問題5は小課題1-2だけでOK
□ 「満点」より「合計点最大化」
□ 小課題は順番に解かなくていい(見極めが大事)
□ 詰まったら別の問題へ
□ 残り30分で未提出の小課題を片付ける