日本情報オリンピックの公式対策テキストが遂に登場!!

JOI 公式テキスト Python で問題解決 情報オリンピックに出てみよう 表紙

JOI 公式テキスト
Python で問題解決
情報オリンピックに出てみよう

執筆
北村 祐稀
編修
筧 捷彦
山口 利恵
監修
情報オリンピック日本委員会
発行
実教出版
発行日
2022 年 8 月 15 日
Amazon のページはこちら 実教出版のページはこちら

未経験から JOI 本選進出まで!

プログラミングとは何かから説明

高難易度の問題を解くためのアルゴリズム (問題解決の手法) も解説

一冊で未経験から JOI 本選進出レベルまでを幅広く対策可能

人気の Python を採用!

高等学校「情報Ⅰ」で使用されていることも多い Python の文法をゼロから解説

後半のアルゴリズムのサンプルソースもすべて Python

つまり,情報Ⅰの授業の延長線上で挑戦可能

豊富なサンプルソースを掲載!

構文だけ勉強してもプログラムはなかなか書けるようにならない

だから,英文のイディオムに相当するプログラミングの「表現」を数多く掲載

それを真似していくことで自力でプログラムが書けるように

オンラインジャッジに完全対応!

全 121 問の例題・類題がオンラインジャッジに対応

インターネット上でソースコードを提出すると,数秒で自動採点

過去問を解いて自分の理解度を確かめながら学習可能

難解なアルゴリズムを丁寧に図解!

ほぼすべてのアルゴリズムで解説に図解を活用

アルゴリズムの原理がわかる

アルゴリズムを自分で設計できる

情報オリンピックの傾向を反映!

筆者は日本代表も務めた元トップ選手

JOI の近年の出題傾向を押さえて差がつく分野を集中対策

競技への取り組み方などの経験談も掲載

正確さもわかりやすさも妥協しない!

国際情報オリンピックのメダリストなど総勢 9 名が内容を検証

それに加えて本書を実際に使った高校生からの指摘も反映

安心して手に取れる一冊

目次

第 1 章 一次予選攻略 Python 入門編

  1. Hello, world!
  2. 基本のプログラム
  3. 条件分岐で場合分け
  4. 文字列
  5. for ループで同じ処理を繰り返す
  6. リストで複数個の変数を管理

第 2 章 一次予選攻略 過去問研究編

  1. 一次予選にバーチャル参加してみよう

第 3 章 二次予選攻略 Python 発展編

  1. while ループで複雑な繰り返し条件を扱う
  2. 多重ループ
  3. 多次元リスト
  4. 組み込み関数:よく使う表現をスッキリ書く
  5. ソート関数で並び替え
  6. 関数の定義:関数を自作してみよう
  7. 再帰関数
  8. 抽象データ型:データと操作をまとめる
  9. ビット演算:「有る」と「無い」の世界
  10. その他の Python の機能など

第 4 章 二次予選攻略 アルゴリズム編

  1. アルゴリズムとは
  2. ソート:目標は同じでも方法はそれぞれ
  3. 全探索:候補はこれだけで十分
  4. 累積和:前計算を活用して和を一瞬で求める
  5. 二分探索Ⅰ:ソート済みリストから要素を探す
  6. 二分探索Ⅱ:判定問題に変換して答えを二分探索
  7. 貪欲法:最高の今を生きる,最高の未来のために
  8. 動的計画法Ⅰ:前の方からコツコツと
  9. 動的計画法Ⅱ:時系列 + α の状態を持つ
  10. 動的計画法Ⅲ:様々なパターンにチャレンジ

第 5 章 二次予選攻略 グラフ編

  1. グラフとは
  2. 深さ優先探索:再帰関数で猪突猛進
  3. 幅優先探索:キューでじわじわ
  4. ダイクストラ法:最短距離はこれで一発
  5. Union-Find:初めてのクラス作成

第 6 章 二次予選攻略 過去問研究編

  1. 二次予選攻略! 重要問題リスト
  2. フェーン現象
  3. 飴 2
  4. 美術展
  5. ペンキの色

便利リンク集

本書問題リストのスクリーンショット
本書問題リスト
例題や類題の AtCoder ページへリンクがはられた問題リスト.問題のヒントも掲載.自分のユーザ名を入力すると達成状況が一目でわかる.
YouTube 再生リストのスクリーンショット
本書解説動画 再生リスト
本書の一部の節と対応した公式解説動画の YouTube 再生リスト.
PyTry のスクリーンショット
PyTry
初心者のための Python 簡開発環境.日本語エラーメッセージなど,コード挿入などのおかげでプログラムが書きやすい.
AtCoder のスクリーンショット
AtCoder
日本最大の競技プログラミングコンテストサイト.3000 問以上の過去問のオンラインジャッジも利用可能.
AOJ/AtCoder-JOI のスクリーンショット
AOJ/AtCoder-JOI
日本情報オリンピック (JOI) の過去問の AtCoder ページへのリンクがはられた問題リスト.有志の投票で決定された非公式難易度順.
AtCoder Problems のスクリーンショット
AtCoder Problems
AtCoder の過去問を一覧できる問題リスト.問題の難易度 (difficulty) の計算など,追加機能が豊富.
情報オリンピック日本委員会 Web サイトのスクリーンショット
情報オリンピック日本委員会
情報オリンピックのコンテストやイベント関連の最新情報はこのページをチェック.
JOI 過去問のスクリーンショット
JOI 過去問
チューターが作成した JOI 過去問の解説やサンプルソースはここから入手可能.
JOI 入門講座のスクリーンショット
JOI 入門講座
月に 2 回程度実施中.チューターから個別に指導を受けられる.一次予選対策 (未経験者~初心者対象).

誤植等情報

追加日 場所 備考
2023/02/25 P. 43
表現のトレーニング (3)
print(a[i]) print(a_cnt[i]) 左右とも.計 2 箇所.
2022/07/28 P. 6
JOIG の紹介
本選までは年齢や性別にかからわず 本選までは年齢や性別にかかわらず
2022/07/28 P. 73
コラム:WebAPI
ただし,Web 通信は PyTry や AtCoder の実行環境では動作せず, ただし,Web 通信は AtCoder の実行環境では動作せず, PyTry の実行環境でも Web 通信は可能である.サンプルソースは次の通りだが,本書の範囲を超えた内容も含まれる.