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

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

更新履歴

目次

昨年からの変更点

昨年の春季トレーニング合宿実施方法からの大きな変更点は次の通りです.

出題される課題数
今年は各競技日に 3 問または 4 問の課題が出題されます. 出題される課題数が昨年から変更される可能性があります. 詳細は日本代表選手選考方法をご覧ください.
ソースを複数回提出した場合の採点方法
昨年までは競技中にソースを複数回提出した場合は最後に提出したソースのみを採点の対象としていました.今年は,競技中にソースを複数回提出した場合は,提出された全てのソースが採点され,提出されたソースの得点の最大値がその課題の得点となります.
小さなマスコット・キーボードの持ち込み
競技参加者は,小さなマスコットおよびキーボードを持ち込んで競技に参加することができます.ただし,持ち込む方法には制限があります.詳細は小さなマスコット・キーボードの持ち込みについてをご覧ください.
オープンコンテストの実施
春合宿の競技実施と同じ時間帯に,同じ課題を使ったオープンコンテストをオンラインで行う予定です.オープンコンテストにはどなたでも参加できます.詳細は決まり次第オープンコンテストについてでお知らせします.

実施期間

2013年3月19日(火) 15:00 ~ 25日(月) 10:00

会場

競技,講義2~6,表彰式・講演会・選手発表会   講義1,講評・解説,宿泊
 NTT DATA 駒場研修センター    国立オリンピック記念青少年総合センター
 〒153-0041 東京都目黒区駒場 2-18-2     〒151-0052 東京都渋谷区代々木神園町3番1号
 電話 03-5738-3850     電話 03-3469-2525
 URL http://www.nttdata-univ.co.jp/establishment/    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
(センター棟103教室)
3月20日(水) 7:00~8:00 朝食
9:00~14:00 競技1
14:00~15:00 昼食
15:00~17:30 講義2
17:30~18:00 解析1
18:30~19:30 夕食
19:30~21:00 講評・解説1
(センター棟103教室)
3月21日(木) 7:00~8:00 朝食
9:00~14:00 競技2
14:00~15:00 昼食
15:00~17:30 講義3
17:30~18:00 解析2
18:30~19:30夕食
19:30~21:00 講評・解説2
(センター棟103教室)
3月22日(金) 7:00~8:00 朝食
9:00~14:00 競技3
14:00~15:00 昼食
15:00~17:30 講義4
17:30~18:00 解析3
18:30~19:30 夕食
19:30~21:00 講評・解説3
(センター棟103教室)
3月23日(土) 7:00~8:00 朝食
9:00~14:00 競技4
14:00~15:00 昼食
15:00~17:30 講義5
17:30~18:00 解析4
18:30~19:30 夕食
19:30~21:00 講評・解説4
(センター棟103教室)
3月24日(日) 7:00~8:00 朝食
9:00~12:00 講義6
12:00~13:00 昼食
14:30~15:30 表彰式
15:40~16:40 記念講演会
17:00~17:30 IOI2013選手発表会
(イベントホール)
18:00~19:00 食事会
(国際交流棟レセプションホール)
3月25日(月) 7:00~8:00 朝食
8:00~8:30 清掃
9:00 アンケートなど
(センター棟103教室)
10:00 解散

表彰式

2013年3月24日(日)の 14:30~15:30 に,NTT DATA 駒場研修センター・イベントホールで第12回日本情報オリンピックの表彰式を行います.

講義

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

講義1
3月19日(火) 19:00~21:00
講師:保坂和宏 先生(東京大学理学部数学科3年)
    IOI2008 エジプト大会 金メダル,IOI2009 ブルガリア大会 金メダル・準優勝,ICFPC 2011 準優勝
    Google Code Jam 2012 5 位, ICPC,TopCoder Open Algorithm,Facebook Hacker Cup 世界大会出場
題目:プログラミングコンテストでの数え上げ&整数論テクニック
概要:プログラミングコンテストで出題される問題のタイプに「○○は何通りあるか?」という形式のものがあります.さらに,「結果を△△で割った余りを出力せよ」のような指示がされる場合がよくあります.このような問題では,高校数学の範囲をやや超えた組合せ論・整数論の知識が必要になる場合があります.この講義では,アルゴリズムを競う場での "基本装備" としての数学的事項を解説します.
講義2
3月20日(水) 15:00~17:30
講師:前原貴憲 先生(国立情報学研究所)
    東京大学大学院情報理工学系研究科数理情報学専攻博士課程修了 博士(情報理工学)
    Spaghetti Source (http://www.prefield.com) 管理人
題目:様々な全域木問題
概要:グラフの全域木は組合せ最適化における最も重要な対象の1つです.この講義では最小比全域木・最小直径全域木・逆最小全域木などの少しマイナーな全域木に関係する問題を紹介し,基本的な考え方を説明します.
講義3
3月21日(木) 15:00~17:30
講師:清木昌 先生(任天堂株式会社)
    東京大学大学院情報理工学系研究科コンピュータ科学専攻修士課程修了
    第4回日本情報オリンピック1位, ACM/ICPC 2002 World Finals 18位
題目:コンピュータサイエンスがどのように役に立つのか(仮)
概要:これから皆さんが学んでいくコンピュータサイエンスが,実際の制作の現場でどのように生きた知識として活用されているのかをご紹介します.プログラミングを仕事とすることについて,少しでもお伝えできれば幸いです.
講義4
3月22日(金) 15:00~17:30
講師:片岡俊基 先生(東京大学大学院情報理工学系研究科コンピュータ科学専攻修士課程1年)
    IOI2006 メキシコ大会 金メダル,IOI2007 クロアチア大会 金メダル
題目:Hoare論理入門:プログラムの動作を検証する
概要:この講義では,プログラムのバグを自動で検査することを目標とする理論のひとつを扱います.データを入力して具体例で検査するという方法と比べより厳密に,プログラムが満たすべき仕様を数学的に証明するために,どのような論理がプログラムコード上で組み立てられるかを解説します.
講義5
3月23日(土) 15:00~17:30
講師:原将己 先生(東京大学教養学部理科I類1年)
    IOI2010 カナダ大会 金メダル,IOI2011 タイ大会 銀メダル
    スーパーコン2009 優勝, スーパーコン2010 優勝
題目:Coq による定理証明入門
概要:数学の定理とその証明を,コンピューターで検証可能な形で記述する試みは,40 年以上も昔から行われてきましたが,現在は,ソフトウェアの正当性を証明することでバグを減らせるかもしれないということで,注目が集まっています.今回は,定理証明支援系 Coq を使って,コンピューターに理解できる証明を書くというのはどういうことかを実際に体験してもらおうと思います.
講義6
3月24日(日) 9:00~12:00
講師:山下洋史 先生(東京大学教養学部理科I類2年)
    IOI2010 カナダ大会 銀メダル
題目:チューター企画:機械学習入門
概要:この講義では,与えられたデータを元にコンピュータに「学習」をさせ,新たなデータに対して予測や決定などの出力をする「機械学習」について皆さんに触れてもらおうと思っています.少し解説をした後,機械学習に関連するいくつかの課題に挑戦していただく予定です.

日本代表選手選考方法

国際情報オリンピック派遣日本代表選手選考に関する内規(2011年12月16日改訂版)に基づき,IOI 2013 日本代表選手を決定します.

春合宿期間中,3月20日,21日,22日,23日の 4 日間にかけて合計 4 回の競技を実施します.各競技日に 3 問または 4 問の課題が出題され,どの課題も 100 点満点です.4 日間の競技の合計点の上位 4 名を IOI 2013 日本代表選手とします.合計点が同点のため 4 位以内の代表候補者が 5 名以上になった場合は,同点の候補者の中で本選の順位が上位の者から代表とします.ただし,本選の成績を参考にするのは同点が生じた場合だけです.

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

競技実施方法

使用できるプログラミング言語
C, C++.
使用できる機器・ソフトウェア
競技では本委員会が用意した機器と,認められた方法で持ち込んだキーボードのみ使用できる(キーボードの持ち込みについては,小さなマスコット・キーボードの持ち込みについてを参照のこと).
また,本委員会が事前に準備し使用を許可したソフトウェアのみ使用できる.
具体的に使用できる機器・ソフトウェアについては,下記を参照のこと.
機器 (予定)
ノート型パーソナルコンピュータ 東芝 SATELLITE B551
筐体:A4ノート, CPU:Core i5-2520M, メモリ:8 GB, HDD:250GB
本体ディスプレイ: 15.6 インチ液晶ディスプレイ (1366×768)
マウス: 光学式スクロールマウス
OS・ソフトウェア (予定)
Ubuntu 12.04 LTS 英語版 (32ビット) (http://www.ubuntu.com/download/desktop)
gcc/g++, gdb, Gnu Emacs, Vim, gedit, C++ STL Document (英語)
Windows 7 Professional (64ビット) 上で動作する VMware Player の仮想マシンで競技を行う.(VMware Player: http://www.vmware.com/jp/products/player/)
これ以外にも仮想マシン内にインストールされているソフトウェアを使うことができる.ソフトウェアのバージョンは実機練習の時間中に確認すること.
後日,練習用仮想マシンをダウンロードできるようにする.ダウンロード用 URL は,後日,春合宿参加者にメールで通知する.
出題される課題
アルゴリズムを設計しそのアルゴリズムを C, C++ のいずれかのプログラミング言語で実装する課題が出題される.実行時の実行時間と使用メモリに制限があるので,解法のアルゴリズムの効率が重要となる.採点用入力データは,効率が異なる解法を識別できるよう調整されている.
春合宿では,日本情報オリンピックの予選・本選とは異なる形式の課題が出題されるかもしれない.例えば,(ソースを提出せずに)出力データのみを提出する課題(Output only task)や,出力データの質を評価し採点する課題が出題されるかもしれない.そのような場合,課題の詳細は問題文および Overview Sheet に記載される.
過去の合宿で出題された課題が日本情報オリンピック 春季トレーニング合宿 記録で公開されている.
解答方法および解答提出方法
課題の趣旨に合致するプログラムを作成し,解答提出用 Web インタフェースからソースを提出すること.
解答プログラムは,入力を標準入力から読み込み,出力を標準出力に出力し,正常終了すること(0 を返すこと).
提出した解答にはフィードバック(「完全」「部分」「例のみ」のいずれか)が与えられる.フィードバックが与えられるまでに時間がかかることがある.競技終了 15 分前までに提出されたソースには競技時間内にフィードバックが与えられるが,それ以降に提出されたソースには競技時間内にフィードバックが与えられるとは限らない.
ただし,課題によってはこれとは異なる方法で解答を提出するものもあるかもしれない.そのような場合,提出方法の詳細は問題文および Overview Sheet に記載される.
競技中,ソースを提出する回数に制限はない.
採点方法
採点用入力データに対する出力の正誤で得点を定める.実行時の実行時間と使用メモリに制限がある.制限は課題ごとに異なり,競技時に配布される Overview Sheet に記載される.
採点プログラムは,Overview Sheet に記載されているコンパイルオプションを用いて解答プログラムをコンパイルし,採点用入力データに対して実行する.時間・メモリの制限を満たして正常終了し,かつ,出力が正しい場合に,その入力データへの出力は正解となる.
正解した入力データに対し配点分の得点が与えられる.課題によっては複数の入力データをセットにして採点することもある.セット採点を行う場合は,1 つのセット内の全てのデータに正解した場合に限り,そのセット分の得点が与えられる.セット採点についての詳細は Overview Sheet に記載される.
ただし,課題によってはこれとは異なる方法で採点するものもあるかもしれない.そのような場合,採点方法の詳細は問題文および Overview Sheet に記載される.
ソースを複数回提出した場合は,提出された全てのソースが採点され,提出されたソースの得点の最大値がその課題の得点となる.
仮想マシンの使用方法
Windows へのログインおよび仮想マシンへのログインはチューターが行う.
競技では仮想マシン内にインストールされているソフトウェアを自由に使うことができる.選手は仮想マシンで起動された Ubuntu から外に出てはならない.万が一,ログアウトしてしまった場合や,仮想マシンがフリーズした場合は,会場責任者の指示に従うこと.
競技中は,STL のドキュメントが Ubuntu デスクトップ上の stl-docs/tech/stl/index.html から参照できる(Ubuntu のデスクトップ上にもリンクがある).
実機練習(プラクティス)について
実機練習の時間中に,競技用 PC・仮想マシンを使用して解答作成・解答提出方法が確認できる.OS やソフトウェアのバージョン,操作方法,エディタの使い方,コンパイル方法,解答提出方法などを実機練習の時間中に確認すること.
実機練習の時間中に,競技用 PC に新たなソフトウェアやドライバをインストールすることはできない.
実機練習の時間中に,競技用 PC に周辺機器や外部メディア(USB メモリや CD-ROM など)を接続してはならない(キーボードを持ち込んで競技に参加する者が動作確認のためにキーボードを接続する場合を除く).
小さなマスコットやキーボードを持ち込んで競技に参加する場合は,実機練習の時間中に申請すること.詳細は小さなマスコット・キーボードの持ち込みについてを参照のこと.
競技中の質問について
競技中,課題について質問やコメントがある場合は「質問票」を提出することができる.
競技開始後 2 時間 30 分以内に提出された質問には,
     正しい  正しくない  ノーコメント  課題の記述の中に答えはある  無効
のいずれかで答える.2 時間 30 分以上経過後も「質問票」を提出することはできるが,競技時間内に答えが返されるとは限らない.
解析の時間について
競技終了後に競技結果を配布する.解析の時間に,採点用入出力データを用いて,自分の提出したプログラムの動作確認を行うことができる.競技結果について異議(アピール)がある場合は「抗議票」を提出することができる.「抗議票」は解析の時間中に提出すること.解析の時間終了後の抗議は認めない.
禁止事項
・競技に先立ち,競技用 PC にはいかなるデータもコピーしてはならない.
・競技中は,参考書・ノート・辞書などの資料を参照してはならない.
・競技中は,本委員会が用意した機器と,認められた方法で持ち込んだキーボードのみ使用できる.それ以外の機器(携帯電話・電卓・電子辞書など)を使用してはならない.また,USB メモリや CD-ROM 等の外部メディアの使用も禁止されている.
・提出する解答プログラムは,実行時に標準入出力以外にアクセスしてはならない.一時ファイルの作成,ネットワークへのアクセス,外部プログラムの呼び出しは禁止されている.
・Windows 7 上で動作する VMware Player の仮想マシン上で競技を行うこと.競技中は Windows 環境のデスクトップに戻ってはならない.
その他
・筆記用具は各自で持参すること.計算用紙は本委員会が用意したものを使用すること.
・競技参加者が競技中に作成したソースや採点用入出力データを持ち帰りたい場合は,解析の時間中に USB メモリを競技用 PC に接続して,コピーして持ち帰ることができる.
・競技用 PC への USB メモリの接続は,会場責任者の許可を得て行うこと.

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

競技参加者は,小さなマスコットおよびキーボードを持ち込んで競技に参加することができます.ただし,持ち込む方法には制限があります.

競技 1 日目に小さなマスコットやキーボードを持ち込んで競技に参加する場合は,実機練習(プラクティス)の時間中に申請して,会場責任者に預けてください.預けた小さなマスコットとキーボードは,競技開始前に競技参加者に配布されます.

競技 2~4 日目に小さなマスコットやキーボードを持ち込んで競技に参加する場合は,使用する競技日の前日の解析の時間中に申請して,会場責任者に預けてください.預けた小さなマスコットとキーボードは,競技開始前に競技参加者に配布されます.

競技では,競技日の前日に申請して預けた小さなマスコットとキーボードのみ使用できます.競技日の前日に申請していない小さなマスコットやキーボードを競技中に使用した場合は,不正行為とみなされます.

注意事項
・文字入力以外の機能があるキーボードは使用できません.
・持ち込むことができるのは,USB 接続のキーボードだけです.USB 接続以外のキーボード(PS/2 や Bluetooth キーボードなど)は競技用 PC に接続できません.(3月11日更新)
・Windows 7 のデフォルトの状態で動作するキーボードのみ使用することができます.キーボードの接続のために Windows 7 や VMware Player の設定を変更したり,キーボードの接続に必要なソフトウェアやドライバを競技用 PC に追加でインストールすることはできません.実機練習の時間中にキーボードの動作を確認した上で,持ち込みを申請してください.
・紛失を防ぐため,持ち込む予定の小さなマスコットとキーボードには,あらかじめ記名するかネームタグを取り付けてください.

小さなマスコットおよびキーボードの持ち込みに関する上記の規則は,今後,変更することがあります. 変更があった場合は,このページでお知らせします.

オープンコンテストについて

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

参加希望者は,オープンコンテストのページからアカウント登録を行なって参加してください.(3月19日更新)

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

オープンコンテストに関する情報は,オープンコンテストのページに随時掲載予定です.