第16回日本情報オリンピック (JOI 2016/2017) 春季トレーニング合宿について

2017年2月28日
情報オリンピック日本委員会

更新履歴

目次

実施期間

2017年3月19日(日) 15:00 ~ 25日(土) 10:00

会場

競技, 講義6, 表彰式 講演会 選手発表会   講義1~5, 講評 解説, 宿泊
 NTT DATA 駒場研修センター    国立オリンピック記念青少年総合センター
 〒153-0041 東京都目黒区駒場 2-18-2     〒151-0052 東京都渋谷区代々木神園町3番1号
 電話 03-5738-3850     電話 03-3469-2525
 URL http://www.nttdata-univ.co.jp/company/access.html    URL http://nyc.niye.go.jp

春季トレーニング合宿 スケジュール

競技実施時間
競技1 3月20日(月) 9:00~14:00 (5 時間)
競技2 3月21日(火) 9:00~14:00 (5 時間)
競技3 3月22日(水) 9:00~14:00 (5 時間)
競技4 3月23日(木) 9:00~14:00 (5 時間)
春季トレーニング合宿 スケジュール
赤字 国立オリンピック記念青少年総合センターで実施
青字 NTT DATA 駒場研修センターで実施
午前 午後
3月19日(日) 15:00 集合
15:00~17:30 ガイダンス・実機練習
18:00~19:00 夕食
19:00~21:00 講義1
3月20日(月) 7:00~8:00 朝食
9:00~14:00 競技1
14:00~15:00 昼食
15:00~15:30 解析1

(解析終了後, 国立オリンピック
記念青少年総合センターに移動)
16:00~18:30 講義2
18:30~19:30 夕食
19:30~21:00 講評・解説1
3月21日(火) 7:00~8:00 朝食
9:00~14:00 競技2
14:00~15:00 昼食
15:00~15:30 解析2

(解析終了後, 国立オリンピック
記念青少年総合センターに移動)
16:00~18:30 講義3
18:30~19:30 夕食
19:30~21:00 講評・解説2
3月22日(水) 7:00~8:00 朝食
9:00~14:00 競技3
14:00~15:00 昼食
15:00~15:30 解析3

(解析終了後, 国立オリンピック
記念青少年総合センターに移動)
16:00~18:30 講義4
18:30~19:30 夕食
19:30~21:00 講評・解説3
3月23日(木) 7:00~8:00 朝食
9:00~14:00 競技4
14:00~15:00 昼食
15:00~15:30 解析4

(解析終了後, 国立オリンピック
記念青少年総合センターに移動)
16:00~18:30 講義5
18:30~19:30 夕食
19:30~21:00 講評・解説4
3月24日(金) 7:00~8:00 朝食
9:00~12:00 講義6
12:00~13:00 昼食
14:30~15:30 JOI 2016/2017 表彰式
15:40~16:40 講演会
17:00~17:30 IOI 2017 日本代表選手
発表会
18:00~19:00 食事会
3月25日(土) 7:00~8:00 朝食
8:00~8:30 清掃
9:00 アンケートなど
10:00 解散

表彰式・日本代表発表会

3月24日(金) の 14:30~15:30 に, NTT DATA 駒場研修センターで第16回日本情報オリンピック JOI 2016/2017 表彰式を行います.
3月24日(金) の 17:00~17:30 に, NTT DATA 駒場研修センターで第29回国際情報オリンピック IOI 2017 イラン大会の日本代表選手発表会を行います.
式次第はこちら (PDF152KB)

講義

春季トレーニング合宿期間中に, 以下の予定で情報科学に関する講義を行います. 詳細は決まり次第このページでお知らせします.

講義1
3月19日(日) 19:00~21:00
講師 : 城下慎也 先生 (東京大学大学院情報理工学系研究科 コンピュータ科学専攻 修士 1 年)
    IOI2011 タイ大会 銀メダル, ICPC 2016 世界大会出場
題目 : プログラミングコンテストの取り組み方
概要 : 講義では春合宿をはじめとした, プログラミングコンテストを受ける際の注意事項やテクニックなどを確認していきます. IOI シラバスに昨年からの少し変更があったことを反映し, 追加された内容に関しても触れる予定です. また, 講義では発展的なトピックや簡単な演習問題などにも取り組めたらと考えております.
講義資料 : 講義スライド (PDF) 諸注意スライド (PDF)
講義2
3月20日(月, 祝) 16:00~18:30
講師 : 河村彰星 先生 (東京大学大学院総合文化研究科講師)
題目 : アルゴリズムの限界 (計算理論入門)
概要 : 与えられた入力に対して正しい答を求める計算問題の中には, 適切な手順 (プログラム) を書くことによって解けるものとそうでないものがあり, 解けるものの中にも速いプログラムで解けるものとそうでないものがあります. このような計算の限界に関する理論は, コンピュータの歴史とともに発展してきましたが, 今なお解明されていない所もあります. この講義では, 問題の難しさが理論的にどのように定式化され, 示されるかについて, お話しします.
講義資料 : 講義資料のページ (河村先生のページへのリンク)
講義3
3月21日(火) 16:00~18:30
講師 : 秀郁未 先生 (東京大学農学部フィールド科学専修 3 年)
    IOI2012 イタリア大会 銀メダル, ACM-ICPC World Finals 2014 銀メダル
題目 : プログラミングコンテストにおける計算幾何入門
概要 : ICPCなどの大学生が対象のプログラミングコンテストでは, 幾何問題がたびたび出題されます. 過去のIOIやJOIでも出題されたことがあります. この講義では, このような幾何問題への基本的な対処法として, 汎用性の高いプログラミング方法を紹介していきます.
講義資料 : 講義スライド (PDF)
講義4
3月22日(水) 16:00~18:30
講師 : 隈部壮 先生 (東京大学教養学部理科一類 2 年)
    IOI2013 オーストラリア大会 銀メダル
題目 : 線形代数と組合せアルゴリズム
概要 : この講義では, 線形代数の知識を用いて組合せ的な問題を解く手法を紹介します. LGV 公式や行列木定理などのいくつかのトピックについて, そのアルゴリズムと証明を紹介していく予定です.
講義資料 : 講義概要・参考文献 (PDF) 講義ノート (PDF)
講義5
3月23日(木) 16:00~18:00
講師 : 川合秀実 先生 (サイボウズ・ラボ株式会社/一般社団法人未踏 理事)
    横浜市立大学大学院 総合理学研究科 修士課程修了, 修士(物理学)
    2002年度未踏ソフトウェア創造事業 未踏ユース 採択
    著書「30日でできる! OS自作入門」 (毎日コミュニケーションズ)
題目 : プログラムはどこまで小さくできるのか
概要 : プログラムは処理手順をデータで表したものです. 無駄や重複を徹底的になくすと, どこまで小さくなるのでしょうか. 独自バイトコードを作って実験しました.
講義資料 : 講義スライド (PDF)
講義6
3月24日(金) 9:00~12:00
講師 : 増田隆宏 先生 (筑波大学附属駒場高等学校 3 年)
    IOI2015 カザフスタン大会 金メダル, IOI2016 ロシア大会 銀メダル
題目 : チューター企画「データ分類コンテスト」
概要 : あるデータについて, サンプルが与えられるのでそれに基づいて正しい分類をしてもらいます. 代表選考とは関係なく, また簡単なアルゴリズムを用いてもある程度の点数は取れますので, 楽しんで参加してください.

日本代表選手選考方法

春季トレーニング合宿期間中, 3月20日, 21日, 22日, 23日の 4 日間にかけて合計 4 回の競技を実施します. 各競技日に 3 題または 4 題の課題が出題され, どの課題も 100 点満点です.

春季トレーニング合宿は全日程参加が原則ですが, 事情がある場合は, 春季トレーニング合宿の一部の行事の欠席を認めることがあります. 競技の一部を欠席した場合でも失格にはなりませんが, 欠席した競技の得点は 0 点になります. 欠席した競技に対して特別な措置 (得点調整など) は実施しません.

国際情報オリンピック派遣日本代表選手選考に関する内規 (2015年9月30日改訂版) に基づき, 次の方法で IOI 2017 日本代表選手を決定します.

  1. 春季トレーニング合宿の競技 1〜4 の合計点の高い選手を IOI 2017 日本代表選手とする.
  2. 1 が同点の選手の中では, 本選の得点の高い者を IOI 2017 日本代表選手とする.
  3. 1 も 2 も同点の選手の中では, 春季トレーニング合宿の競技 2〜4 の合計点の高い者を IOI 2017 日本代表選手とする.
  4. 1〜3 がすべて同点の選手の中では, 春季トレーニング合宿の競技 3・4 の合計点の高い者を IOI 2017 日本代表選手とする.
  5. 1〜4 がすべて同点の選手の中では, 春季トレーニング合宿の競技 4 の得点の高い者を IOI 2017 日本代表選手とする.
  6. 1〜5 がすべて同点の選手の中では, 情報オリンピック日本委員会による抽選で IOI 2017 日本代表選手を決定する.

日本代表選手選考方法を改訂しました (3/15).

春季トレーニング合宿競技実施方法概要

競技時間 競技1 3月20日(月) 9:00~14:00 (5 時間)
競技2 3月21日(火) 9:00~14:00 (5 時間)
競技3 3月22日(水) 9:00~14:00 (5 時間)
競技4 3月23日(木) 9:00~14:00 (5 時間)
課題数 各競技日に 3 題または 4 題の課題が出題される.
配 点 配点は各課題 100 点である.
各課題がいくつかの小課題に分割されることがある. 小課題の配点は問題文中に記載する.
使用できるプログラミング言語 C (C のバージョンは C11), C++ (C++ のバージョンは C++14)
競技システムで使われるコンパイルオプションは, 競技の際に配布される「実装上の注意 (Implementation Notice)」に記載する.
使用できる用品 競技中は筆記用具 (鉛筆, シャープペン, ボールペン, 消しゴムなど) を使用できる. 筆記用具は本委員会では準備しないので持参すること.
計算用紙は本委員会が用意したものを使用すること.
衣類, 適度なアクセサリー・宝飾品類 (腕時計を除く), 英語の辞書 (電子辞書は不可) を使用することができる. また, 小さなマスコットを机の上に置くことができる.
詳細は英語の辞書・小さなマスコット・キーボードの持ち込みについてを参照のこと.
使用できる機器・ソフトウェア 本委員会が用意した機器と, 認められた方法で持ち込んだキーボードのみ使用できる.
詳細は英語の辞書・小さなマスコット・キーボードの持ち込みについてを参照のこと.

また, 本委員会が事前に準備し使用を許可したソフトウェアのみ使用できる.
競技で使用予定の機器・環境は以下の通りである. (変更される場合がある)

ハードウェア ノート型パーソナルコンピュータ HP ProBook 450 G3
  • CPU: Core i5-6200U
  • メモリ: 16GB
  • ハードディスク: 500GB
  • ディスプレイ: 15.6インチ カラー液晶 (1366×768)
  • マウス: 光学式スクロールマウス

ソフトウェア (予定)
  • Ubuntu 16.04 LTS 64-bit 英語版
    http://www.ubuntu.com/download/desktop
    (Windows 7 Professional (64 bit) 上で動作する仮想マシンで競技を行います. )
  • gcc/g++, python, ruby 2.3, gdb, DDD
  • eclipse-cdt, Geany
  • Gnu Emacs, vim, vim-gnome (gvim), gedit, Kate, KWrite, SciTE, joe, nano
  • C++ STL Document (英語)
  • Ubuntu ディストリビューションに含まれる, その他のソフトウェア

競技環境に関する補足
  • 競技で使用する Ubuntu は, Windows 7 Professional (64 bit) 上で動作する Oracle VM VirtualBox のゲスト OS です.
    http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
  • 後日, 練習用仮想マシンを配布します. 練習用仮想マシンの配布は, 春季トレーニング合宿実施までに Ubuntu Desktop (英語版) の開発環境に関する操作に慣れてもらうことを意図して行われます. ダウンロード用 URL は, 後日, 春季トレーニング合宿参加者にメールで通知します.
出題される課題 アルゴリズムを設計しそのアルゴリズムを C, C++ のいずれかのプログラミング言語で実装する課題が出題される. 実行時の実行時間と使用メモリに制限があるので, 解法のアルゴリズムの効率が重要となる. 採点用入力データは, 効率が異なる解法を識別できるよう調整されている.
春季トレーニング合宿では, 日本情報オリンピックの予選・本選とは異なる形式の課題が出題されるかもしれない. 例えば, (ソースを提出せずに) 出力データのみを提出する課題 (Output only task) や, 出力データの質を評価し採点する課題, 指定された方法でやりとりを行う応答型課題 (Reactive task), 提出した複数のプログラム間で通信を行う通信型課題 (Communication task) 等が出題されるかもしれない. また, 競技中のフィードバックが制限される課題が出題されるかもしれない. その場合, 課題の詳細は問題文および「実装上の注意 (Implementation Notice)」に記載される. (3/16 改訂)
過去の合宿で出題された課題が日本情報オリンピック 春季トレーニング合宿 記録で公開されている.
解答方法・解答提出方法 課題の趣旨に合致するプログラムを作成し, 解答提出用 Web インタフェースからソースを提出すること. 解答プログラムは, 入力を標準入力から読み込み, 出力を標準出力に出力し, 正常終了すること (0 を返すこと).
各課題ごとに, ソースを提出することができる回数は 50 回までである.
各課題ごとに, 最後の提出から 1 分間は解答を提出することができない.
ただし, 課題によってはこれとは異なる方法で解答を提出するものもあるかもしれない. その場合, 提出方法の詳細は問題文および「実装上の注意 (Implementation Notice)」に記載される.
フィードバック 競技中に提出されたソースは「実装上の注意 (Implementation Notice)」に記載されているコンパイルオプションを用いてコンパイルされ, 問題文中の例と, 全ての採点用入力データに対して実行される. その結果がフィードバックとして競技参加者に通知される. フィードバックを利用することで, 自分の提出したソースが問題文の仕様を満たしているかどうかを確認することができる. また, その課題に関する自分の得点を競技中に知ることができる.
フィードバックの詳細については実機練習 (プラクティス) の時間に確認することを勧める.
フィードバックが与えられるまでに時間がかかることがある. 競技終了 15 分前までに提出されたソースには競技時間内にフィードバックが与えられる. それ以降に提出されたソースには競技時間内にフィードバックが与えられるとは限らない.
競技中のフィードバックが制限される課題が出題されるかもしれない. その場合, 詳細は問題文および「実装上の注意 (Implementation Notice)」に記載される.
採点方法 採点用入力データに対する出力の正誤で得点を定める. 実行時の実行時間と使用メモリに制限がある. 制限は課題ごとに異なり, 競技時に配布される「実装上の注意 (Implementation Notice)」に記載される.
各課題がいくつかの小課題に分割されることがある. 小課題に関する詳細は問題文中に記載する.
採点プログラムは, 「実装上の注意 (Implementation Notice)」に記載されているコンパイルオプションを用いて解答プログラムをコンパイルし, 採点用入力データに対して実行する. 時間・メモリの制限を満たして正常終了し, かつ, 出力が正しい場合に, その採点用入力データへの出力は正解となる. 1 つまたは複数の入力データをセットにして採点を行う. 1 つのセット内の全てのデータに正解した場合に限り, そのセット分の得点が与えられる.
ソースを複数回提出した場合は, 提出された全てのソースが採点され, 提出されたソースの得点の最大値がその課題の得点となる.
ただし, 競技サーバに予期せぬ障害が発生した場合は, 最後に提出されたソースのみを採点の対象とする場合がある. 提出したソースは, 各自の競技用 PC に保存しておくことを勧める.
課題によってはこれとは異なる方法で採点するものもあるかもしれない. その場合, 採点方法の詳細は問題文および「実装上の注意 (Implementation Notice)」に記載される.
質問 質問がある場合は, 競技開始から 2 時間 30 分が経過するまで質問票を提出することができる. 質問への回答は「正しい」「正しくない」「ノーコメント」「課題の記述の中に答えはある」「無効」のいずれかである. 競技開始から 2 時間 30 分経過後も質問票を提出することはできるが, 競技時間内に回答するとは限らない.
実機練習 (プラクティス) 実機練習の時間中に, 競技用 PC を使用して解答作成・解答提出方法が確認できる. 操作方法, コンパイル方法, 解答提出方法などを実機練習の時間中に確認すること.
実機練習の時間中に, 競技用 PC に新たなソフトウェアやドライバをインストールすることはできない.
実機練習の時間中に, 競技用 PC に周辺機器や USB メモリなどの外部メディアを接続してはならない (キーボードを持ち込む競技参加者が動作確認のためにキーボードを接続する場合を除く).
小さなマスコットやキーボードを持ち込んで競技に参加する場合は, 実機練習の時間中に申請すること. 詳細は英語の辞書・小さなマスコット・キーボードの持ち込みについてを参照のこと.
解析の時間 競技終了後に競技結果を配布する. 解析の時間に, 採点用入出力データを用いて, 自分の提出したプログラムの動作確認を行うことができる.
競技結果について異議 (アピール) がある場合は「抗議票」を提出することができる. 「抗議票」は解析の時間中に提出すること. 解析の時間終了後のアピールは認めない.
禁止事項
  • 競技前 (実機練習の時間中も含む) および競技中に, 周辺機器や USB メモリなどの外部メディアを競技用 PC に接続してはならない (キーボードを持ち込む競技参加者が動作確認のためにキーボードを接続する場合を除く).
  • 競技用 PC には, いかなるデータもコピーしてはならない. 競技用 PC に新たなソフトウェアやドライバをインストールしてはならない.
  • 競技中は, 参考書・ノート・辞書などの資料を参照してはならない. 競技中は, 本委員会が用意した機器と, 認められた方法で持ち込んだキーボードのみ使用できる. それ以外の機器 (携帯電話・電卓・電子辞書など) や腕時計を使用してはならない.
  • 競技参加者が提出する解答プログラムは, 実行時に標準入出力以外にアクセスしてはならない. 一時ファイルの作成, ネットワークへのアクセス, 外部プログラムの呼び出しは禁止である.
  • 競技中は, 競技システムを通じて解答を提出したり提出結果を確認する場合を除き, ネットワークやインターネット上のいかなるコンピュータへのアクセスも試みてはならない. 競技システムを改ざんしたり, セキュリティを侵害することを試みてはならない.
  • 自分自身に割り当てられた競技用 PC とアカウントを使用すること. 自分自身に割り当てられたアカウント以外のアカウントへのアクセス権を得ようと試みてはならない. 自分自身に与えられた競技用 PC 以外のコンピュータにふれてはならない.
  • 競技中は, 本委員会のスタッフを除き, 他の人と連絡を取ってはならない.
  • Windows 上で動作する仮想マシン上で競技を行うこと. 競技中は Windows 環境のデスクトップに戻ってはならない.
その他 競技参加者は, 解析の時間中に会場責任者の許可を得て競技用 PC に USB メモリを接続して, ソースやデータなどを USB メモリにコピーして持ち帰ることができる. 自分が競技中に作成したソースやデータなどを持ち帰りたい人は, USB メモリを持参すること.
競技課題および採点用入出力データは, 後日, 本委員会のウェブページで公開する.

英語の辞書・小さなマスコット・キーボードの持ち込みについて

競技参加者は, 筆記用具以外に, 衣類, 適度なアクセサリー・宝飾品類 (腕時計を除く), 英語の辞書, 小さなマスコット, キーボードを持ち込んで競技に参加することができます. ただし, 持ち込む方法には次のような制限があります.

衣類, 適度なアクセサリー・宝飾品類 (腕時計を除く) を持ち込む方法
英語の辞書, 小さなマスコット, キーボードを持ち込む方法
注意事項

上記の規則は変更されることがあります. 変更があった場合は, このページでお知らせします.

オープンコンテスト

春季トレーニング合宿競技と同じ時間帯に, 同じ課題を使ったオープンコンテストをオンラインで行う予定です. オープンコンテストにはどなたでも参加できます.

オープンコンテストに用いる競技システムの仕様は, 春季トレーニング合宿競技で用いる競技システムと同一ではありません.

参加希望者はオープンコンテストのページからアカウント登録を行なって参加してください. オープンコンテストに関する情報は, オープンコンテストのページに随時掲載予定です.

個人情報の扱いについて

個人情報の扱いについては, 情報オリンピック日本委員会の「個人情報保護方針」をご覧ください.