Monthly Archives: 2月 2013

専修大主催合同練習会

お久しぶりです!
3か月ぶりでしょうか.にゃまとしては2年ぶりくらいです!

さて,久々の活動報告です.私とRyo君2人で専修大学主催の合同練習会に参加してきました.
7大学合同でICPC形式のコンテストをし,他大学と交流しながら競技プログラミングへのモチベーションを高めることを目的とした練習会です.

せっかくなので,事前準備と当日の私たちの活動(些細なものですが)についてまとめたいと思います

1.事前準備

実は,私もRyo君もB4で卒論で手一杯? で2人で練習はできませんでした.なので,2/4の1時間ほどの打ち合わせが全てでした.協議に関する内容は,大きく分けて以下の2つです.

  1. 当日のタイムチャート
  2. 練習メニュー

どちらも,上級者の方は基本作っています(みっちゃんさんの熱心な活動のおかげでこの準備もできるようになりました感謝).大したものではないですが,簡単に公開しますね.

1.1 タイムチャート

タイムチャートは,当日のコンテストの時間管理をするものです.私たちは2人なので,基本交互にコーディングするスタイルで設計しました.画像の通りです.

1時間ごとに打ち合わせを入れています.打ち合わせでその後の解答方針を決めることにしました.問題の難易度が分からなかったので,前半以外は割と適当で,1問辺り25分とるということと,バグが出てしまっても解けそうなときはペアプロをするという2つの方針しか立てていません.しかし,当日は割といい感じに機能したと思います.

1.2 練習メニュー

こればっかりは,2人で時間を取ることができなかったので各自ですることとしました.その際の練習メニューは,以前学習した内容を思い出すことを中心に,ダイクストラやDPなどの基本的な問題を1問ずつ解いてくることとしました.

私は結局時間が取れなくて1問も解きませんでした(土下座)が,Ryo君は何問か解いてきてくれたようで助かりました.

2.当日

練習不足を感じながらも当日は来てしまったので,とにかく打ち合わせの通りにやろうと頑張りました.ぬけぬけだったソースコードのファイル名やサンプルについてなど最後の取り決めをして,コンテストが始まりました.上級者の方を見習って当日の流れを書いてみます.

14:05~14:10

私がjavaのテンプレートを写している間にRyo君がA問を読み始める.Ryo君は解法は立った様子.

14:10~14:25

Ryo君がA問を書く.その間,私がB問を読んで紙コーディング.Ryo君のA問のサンプルが通らず,私の紙コーディングも手間取っていて雲行きが怪しく...

14:25~14:40

A問が煮詰まったので印刷してRyo君が紙デバッグ.私はB問を紙コーディングの通りに書いてAC.時間はオーバー気味.
でも,Ryo君はA問の紙デバッグが終わり,C問の読んで解法までたつ.

14:40~14:55

Ryo君がさくっとAをACmそのまま続けてC問のsmallを書く.そしてAC.私はD問を見て基本の素数判定+αでいいことを確認して方針を立てる.

14:55~15:00

C問largeは提出しないでおいて,私がD問を書いてAC.Ryo君には他の問題を確認してもらう.

15:00~15:10

E以降の問題について,お互いの問題解析について確認.E問はシミュレーション,Fは適当,Gは数論?というところまで話が進み,EがRyo君,Fが私と割り当てて問題を解く.

15:10~15:20

Ryo君がE問を丁寧に書いて1発AC.その間,私はFを連立方程式とみて空きの数値を解く.

15:20~15:30

私がFを書く.一部配列のインデックスが間違っていて時間を食ってしまうがAC.このとき,Ryo君がG以降を確認する.

15:30~15:40

思いのほか早く2問解いてしまったので,早めの2度目の打ち合わせ.Ryo君がHをDPで書けるじゃねという方針を提案.私は良く理解できなかったけど確かにいけそうだったので任せることに決定.私は,残されたところから,C問largeかJで悩み,どちらかというと確実なC問largeを考えることに決定.

15:40~15:50(ここから割と曖昧)

C問はローリングハッシュを使う(キリッ という方針を立てた私が書けるところだけ書く.Ryo君は紙コーディングして終了と同時にコーダーを入れ替わる.

15:50~16:20

Ryo君がHを書いて提出.しかしWA.私はCを紙コーディング.一度コーダーを変わってRyo君が紙デバッグをし,私がコーディング.途中でRyo君がデバッグし終わり,コーダー変わってちょろっと書き換えて提出したらAC.

16:20~16:55

私がClargeを書く.だがローリングハッシュなんて去年書いて以来なので苦戦する.なんとかバグを取り終わって提出しAC.

16:55~17:05

ラスト,G門を考えてタイムアップ.

細かくなってしまいましたがだいたいこんな感じ.今回は割と連携がうまく取れたと思います.おかげでいい感じの成績を取ることができました.もう少し時間があれば,Jに取り組めたのではないかと思います.こればっかりは練習不足なので次回への課題ですね.

懇親会では,問題のことだけでなく様々な話題で盛り上がれて楽しかったです.皆さん競技プログラミングに意欲的でうかうかしていられないですね.良いモチベーションのアップになりました.

まとめ・感想

前半期以来,久々の練習会でしたが,中々な成績を取れてよかったです.同時に,他大の練習量なども見られて有意義な練習会でした.これを機に私たちも練習をちゃんとしていけたらと思います.このような機会を用意して頂いた専修大学の皆さん,本当にありがとうございました.次回は後輩を連れて行きたいです(チラッ).

P.S. 練習会とは別の機会に,交流会や人狼や人狼ができたらそれはそれはうれしいですね!