Transcript Document
ACM/ICPC World Finals への道
東京大学
稲葉 一浩
自己紹介 (ICPC歴)
2003 - ハリウッド – 11位 (6/10問)
Team “Lighthouse”
With Masahiro Kasahara & Toshihiro Yoshino
2005 - 上海 - ………
Team “Gokuri-Squeeze”
With Shinya Kawanaka & Toshihiro Yoshino
チーム結成
稲葉&吉野
授業で先生の紹介でICPCを知る
参加しようと思う
しかしメンバーが2人しか集まらない
先生に相談
笠原
前年のチームメイトはICPC引退宣言
しかし自分はまだ出場したい
先生に相談
練習(~国内予選)
チーム結成から予選までほとんど時間なし
とりあえず過去大会の問題を解いてみる
問題文は公開されている
審判用のInput/Outputも
練習(~アジア地区予選)
「ライブラリ」 作成
著名なアルゴリズムを、実際に自分で、コード
として書き下したもの
週1回集合
毎週、各自に2~3アルゴリズムを割り当て
次回集合時に、読み合わせ
「ライブラリ」作成 ∈ 練習
アルゴリズム
大学の授業で習った
本で読んだ
それだけでは使えない
一度書いたことがある
細かい実装詳細(のコツ/落とし穴)を知っている
使える
練習(~世界大会)
ひたすら Online Judge System で練習
http://acm.uva.es/p/
http://acm.pku.edu.cn/JudgeOnline/
…
週0.5~1回
Online Judge System
ICPC系の問題を大量に収録したサイト
自動審判システム
問題ごとのStatistics
挑戦者数, 正解率, …
指定した範囲の挑戦者数、正解率を持つ
問題をランダムにPick-upするPerlスクリプ
トを作成して、練習に使用
練習会の目的
必ず、3人実際に集まる
「ペアプログラミング」の練習
普通にプログラムを組むだけなら、みな趣味で毎日のようにやっている
互いの得意/不得意分野を把握
互いのコードの癖を把握
まとめ
「ライブラリ」
擬似コードではなく、
実際のコードでアルゴリズムを理解する
「ペアプログラミング」
ICPCはチーム戦!