レギオ講習会2025 2日目 (8/22)

本Webページは,情報オリンピック日本委員会が開催してる「プログラミングを0から学ぶ講座」で
教科書として採用されている,「JOI公式テキスト Pythonで問題解決 情報オリンピックに出てみよう」の
著者が公開しているサポートページのうち,「本書問題リスト」に掲載の問題の一部を採用している.

更に,本Webページは,情報オリンピック日本委員会が開催してる「JOI春季セミナー」の
セミナー中の演習で採用されている問題から抜粋して採用している.

課題提出状況確認ページ

全課題提出状況確認ページ(ランキング)
上記ページにアクセスすると自身および他の参加者の提出状況が確認できます.

※ リアルタイム反映ではございません.早ければ本日中,状況によっては数日から1週間程度かかる場合がございます.

解答例は講師担当が作成したものです.
丁寧な解説は AtCoder の問題ページ右上の解説タブから閲覧できますが,筆者と同じ方針とは限りません.

①『JOI2023/2024 一次予選にバーチャル参加しよう』

JOI2023/2024 一次予選にバーチャル参加してみましょう. https://atcoder.jp/contests/joi2024yo1aを開き,
下記の 4 つの問題をでできる限り解いてみてください(本番は80分!).

問題名 出典 備考
果物 (Fruit) JOI 2023/2024 一次予選 (第 1 回) 問題 A 提出一覧
和の判定 (Sum Checker) JOI 2023/2024 一次予選 (第 1 回) 問題 B 提出一覧
ハミング距離 (Hamming Distance) JOI 2023/2024 一次予選 (第 1 回) 問題 C 提出一覧
現れている数字 (Appearing Numbers) JOI 2023/2024 一次予選 (第 1 回) 問題 D 提出一覧

②『繰り返しの方法を確認しよう』&『リストの使い方を確認しよう』(1日目の復習)

文法チェック項目!(下記リンクは,C++入門 AtCoder Programming Guide for beginners (APG4b) の各課題ページへのリンクです)

例題!

問題名 出典 備考
Rightmost AtCoder Beginner Contest 276 問題 A 提出一覧
IOI 文字列 JOI 2020/2021 一次予選 (第 3 回) 問題 B 提出一覧
分割 JOI 2020/2021 一次予選 (第 2 回) 問題 C 提出一覧
最頻値 JOI 2019/2020 一次予選 (第 2 回) 問題 C 提出一覧

以下時間中にチャレンジ!

問題名 出典 備考
運動会 JOI 2021/2022 一次予選 (第 3 回) 問題 C 提出一覧
JOI ソート JOI 2020/2021 一次予選 (第 1 回) 問題 B 提出一覧
巻物 JOIG 2021 問題 B 提出一覧

以下時間があればチャレンジ!

問題名 出典 備考
文字列の反転 JOI 2019/2020 一次予選 (第 2 回) 問題 B 提出一覧
ボールの移動 JOI 2021/2022 一次予選 (第 3 回) 問題 D 提出一覧
希少な数 JOI 2021/2022 一次予選 (第 2 回) 問題 D 提出一覧

③『辞書順・整列』を使いこなそう!『待ち行列とスタック』を理解しよう!

文法チェック項目!(下記リンクは,C++入門 AtCoder Programming Guide for beginners (APG4b) の各課題ページへのリンクです)

例題!

問題名 出典 備考
辞書式順序 AtCoder Beginner Contest 007 問題B 提出一覧
心配性な富豪、ファミリーレストランに行く。 AtCoder Beginner Contest 009 問題B 提出一覧
3人でカードゲームイージー AtCoder Beginner Contest 045 問題 B 提出一覧
バイナリハックイージー AtCoder Beginner Contest 043 問題 B 提出一覧

以下時間中にチャレンジ!

問題名 出典 備考
pushpush AtCoder Beginner Contest 066 問題 C 提出一覧
Unification AtCoder Beginner Contest 120 問題 C 提出一覧
最高のピザ JOI 2011/2012 予選 問題 C 提出一覧

以下時間があればチャレンジ!

問題名 出典 備考
Strange Balls AtCoder Beginner Contest 240 問題D 提出一覧
ABC Tournament AtCoder Beginner Contest 188 問題C 提出一覧
コンテスト JOI 2008/2009 予選 問題 B 提出一覧
Card Game for Two AtCoder Beginner Contest 088 問題 B 提出一覧
Two Anagrams AtCoder Beginner Contest 082 問題 B 提出一覧
サッカー JOI 2011/2012 予選 問題 B 提出一覧
Candy Distribution Again AtCoder Grand Contest 027 問題 A 提出一覧

④『全探索・動的計画法』に触れよう!

全探索については,E869120さんの Qiitaの記事を読んでおこう!

例題!

問題名 出典 備考
Palace AtCoder Beginner Contest 113 問題B 提出一覧
Exponential AtCoder Beginner Contest 097 問題B 提出一覧
Frog 1 Educational DP Contest / DP まとめコンテスト 問題A 提出一覧

以下時間中にチャレンジ!

問題名 出典 備考
看板 (Signboard) 第12回日本情報オリンピック 予選(過去問) 問題C 提出一覧
Sum of Three Integers AtCoder Beginner Contest 051 問題B 提出一覧
Frog 2 Educational DP Contest / DP まとめコンテスト 問題B 提出一覧

以下時間があればチャレンジ!

問題名 出典 備考
Otoshidama AtCoder Beginners Selection 問題C 提出一覧
Checkpoints AtCoder Beginner Contest 057 問題B 提出一覧
Stair Jump(★3) 競プロ典型 90 問 問題050 提出一覧
Typical Stairs AtCoder Beginner Contest 129 問題C 提出一覧
Vacation Educational DP Contest / DP まとめコンテスト 問題C 提出一覧

⑤『全探索・深さ優先探索・幅優先探索』に触れよう!

全探索については,E869120さんの Qiitaの記事を読んでおこう!

深さ優先探索に置いては,「再帰呼び出し」「スタック」を使うことが多いです.詳しくは例題をチェック.
幅優先探索では,「待ち行列」を使うことが多いです.詳しくは例題をチェック.

例題!

問題名 出典 備考
深さ優先探索 AtCoder Typical Contest 001 問題A 提出一覧
幅優先探索 AtCoder Typical Contest 002 問題A 提出一覧

二次予選の最初2つの問題にチャレンジ!

JOI 2023/2024 二次予選 過去問のA,Bにチャレンジ.

問題名 出典 備考
カードゲーム 2 (Card Game 2) JOI 2023/2024 二次予選 過去問 問題A 提出一覧
買い物 2 (Shopping 2) JOI 2023/2024 二次予選 過去問 問題B 提出一覧

以下時間中にチャレンジ!

問題名 出典 備考
Brute-force Attack AtCoder Beginner Contest 029 問題C 提出一覧
Simple path トヨタ自動車プログラミングコンテスト2022(AtCoder Beginner Contest 270) 問題C 提出一覧

以下時間があればチャレンジ!

問題名 出典 備考
白色光 2 (White Light 2) JOI 2023/2024 二次予選 過去問 問題C 提出一覧
755 AtCoder Beginner Contest 114 問題 C 提出一覧
All Green AtCoder Beginner Contest 104 問題C 提出一覧
Count Connected Components AtCoder Beginner Contest 284 問題C 提出一覧
Tour AtCoder Beginner Contest 204 問題C 提出一覧
.. (Double Dots) AtCoder Beginner Contest 168 問題D 提出一覧
Dance AtCoder Beginner Contest 236 問題D 提出一覧
Root M Leaper AtCoder Beginner Contest 272 問題D 提出一覧
庭園 2 (Garden 2) JOI 2023/2024 二次予選 過去問 問題D 提出一覧
高速道路の通行料金 (Highway Tolls) JOI 2023/2024 二次予選 過去問 問題E 提出一覧

⑦『もっと難しい問題にチャレンジ』

本課題は,JOI春季セミナー内の講座で実際に演習で使われている問題を列挙したものです.α(アルファ),β(ベータ),γ(ガンマ) の順に難易度が上がります.

β以降は今回取り扱っていないデータ構造・アルゴリズムが必要になるものが多めです.

αコース

計算量,全探索,再帰,動的計画法の初歩がわかる人向けの問題集です.

問題名 出典 備考
揃った文字 (Matched Letters) JOI 2023/2024 一次予選 (第3回) 過去問 問題C 提出一覧
Roller Coaster AtCoder Beginner Contest 142 問題B 提出一覧
JOIとIOI 第7回日本情報オリンピック 予選(過去問) 問題B 提出一覧
Shift only AtCoder Beginners Selection 問題B 提出一覧
たくさんの数式 AtCoder Beginner Contest 045 問題A 提出一覧

βコース

JOI 二次予選突破を目指す人や JOI 本選突破を目指す人を対象とした,
全探索,再帰,二分探索法,貪欲法,データ構造の初歩, グラフの初歩がわかる人向けの問題集です.

問題名 出典 備考
Brute Force 2 アルゴリズムと数学 演習問題集 問題009 提出一覧
Just K モノグサプログラミングコンテスト2022(AtCoder Beginner Contest 249)問題 C 提出一覧
Travel AtCoder Beginner Contest 183 問題C 提出一覧
321-like Searcher サントリープログラミングコンテスト2023(AtCoder Beginner Contest 321) 問題C 提出一覧
二分探索の練習問題 典型アルゴリズム問題集 問題A 提出一覧
Counting 2 パナソニックプログラミングコンテスト2021(AtCoder Beginner Contest 231) 問題C 提出一覧
Triangles AtCoder Beginner Contest 143 問題D 提出一覧
Doubled AtCoder Beginner Contest 196 問題C 提出一覧
Kth Excluded AtCoder Beginner Contest 205 問題D 提出一覧
log AtCoder Regular Contest 109 問題B 提出一覧
Knapsack 1 Educational DP Contest / DP まとめコンテスト 問題D 提出一覧
Knapsack 2 Educational DP Contest / DP まとめコンテスト 問題E 提出一覧
Poisonous Full-Course トヨタ自動車プログラミングコンテスト2023#3(AtCoder Beginner Contest 306) 問題D 提出一覧
Golden Coins AtCoder Beginner Contest 160 問題B 提出一覧
区間スケジューリング問題 典型アルゴリズム問題集 問題B 提出一覧
Fennec vs Monster AtCoder Beginner Contest 153 問題C 提出一覧
Brick Break AtCoder Beginner Contest 148 問題D 提出一覧
Megalomania AtCoder Beginner Contest 131 問題D 提出一覧
2D Plane 2N Points AtCoder Regular Contest 092 問題A 提出一覧
Multiple Array AtCoder Grand Contest 009 問題A 提出一覧
Wrapping Chocolate AtCoder Beginner Contest 245 問題E 提出一覧
Standings CodeQUEEN 2023 予選 (AtCoder Beginner Contest 308) 問題C 提出一覧
Triangle (Easier) 第三回日本最強プログラマー学生選手権-予選-(AtCoder Beginner Contest 262)問題B 提出一覧
Adjacency List AtCoder Beginner Contest 276 問題B 提出一覧
One-stroke Path AtCoder Beginner Contest 054 問題C 提出一覧
Longest Circular Road(★4) 競プロ典型 90 問 問題003 提出一覧
STring AtCoder Grand Contest 005 問題A 提出一覧
Sky株式会社プログラミングコンテスト2023(AtCoder Beginner Contest 289)問題B 提出一覧
1-SAT AtCoder Beginner Contest 187 問題C 提出一覧
LRUD Instructions 2 AtCoder Beginner Contest 291(Sponsored by TOYOTA SYSTEMS) 問題C 提出一覧
Unexpressed キャディプログラミングコンテスト2021(AtCoder Beginner Contest 193) 問題C 提出一覧

γコース

JOI 二次予選突破を目指す人や JOI 本選突破を目指す人を対象に,
動的計画法,グラフと木,Union-Find,グラフ探索,最短路問題,最小全域木問題,
ネットワークフローの初歩がわかる人向けの問題集です.

問題名 出典 備考
編集距離 典型アルゴリズム問題集 上級?エキスパート編 問題B 提出一覧
区間分割の仕方を最適化する問題 典型アルゴリズム問題集 上級?エキスパート編 問題A 提出一覧
LCS 競技プログラミングの鉄則 演習問題集 問題A20 提出一覧
LCS Educational DP Contest / DP まとめコンテスト 問題F 提出一覧
Triangle (Easier) 第三回日本最強プログラマー学生選手権-予選-(AtCoder Beginner Contest 262)問題B 提出一覧
One-stroke Path AtCoder Beginner Contest 054 問題C 提出一覧
Disjoint Set Union AtCoder Library Practice Contest 問題A 提出一覧
Bridge AtCoder Beginner Contest 075 問題C 提出一覧
Friends AtCoder Beginner Contest 177 問題D 提出一覧
最小全域木問題 典型アルゴリズム問題集 問題F 提出一覧
Destruction AtCoder Beginner Contest 218 問題E 提出一覧
MST + 1 HHKB プログラミングコンテスト 2022(AtCoder Beginner Contest 235) 問題E 提出一覧
D - Built? AtCoder Beginner Contest 065 問題B 提出一覧
最大流 典型アルゴリズム問題集 上級?エキスパート編 問題E 提出一覧
浮気予防 AtCoder Beginner Contest 010 問題D 提出一覧
G - Builder Takahashi デンソークリエイトプログラミングコンテスト2022(AtCoder Beginner Contest 239) 問題G 提出一覧