ICPC2011 アジア地区予選(本番)

一部記憶が怪しい・・・。

A

チームメイトが.emacsやテンプレートを書いてくれているうちにAを読む。
時間のテーブルを作り女神がいる時間を全てチェックすれば何分女神と同席する事になるかの判定が楽にできそう。
制約をしっかり読まない事により日を跨ぐことも考えたので実装がやや面倒になった。
バグを生みつつも何とか修正して提出。AC。

D

Dが解けそうという事なのでDを任せる。さらにBも解けそうという事なのでBをしっかり読んでみる。
何を答えれば良いかが良く分からない。
Dで少し詰まっていた?ので取り敢えずBを書き始める。

B

文字列を全生成するところまで書いてチームメイトにバトンタッチ。その頃には何を答えればいいのか分かっていたのでそれを書いて提出。AC。

D

他の問題を色々読んでるうちにDのサンプルを通してくれたので提出。AC。

F

他のチームがすごい解いているFを考える。
nの大きさ的にbitDPっぽいんけど、2個以前にどの文字列を使ったかの情報も必要なんじゃないかと思って混乱。
ここで2WAだす。
分からないので自分はEを考え始める。

E

正二十面体を転がした時の状態遷移さえ分かればBFSするだけっぽい。
状態遷移がとても面倒で分かりにくいので、問題文の展開図を切り取り正二十面体を組み立てる。
出来るだけ頭を使わないようにコーディングする事を考え、20*3のテーブルを紙に書いて、残りの状態遷移の計算方法も考えたところでコーディングを始める。
20分コーディング20分デバッグくらいでサンプル通す。提出、AC。

F

ここでついに他の文字列に完全に内包される文字列を消去してしまえばbitDPで出来る事に気付く。
コーディングはチームメイトにやってもらい、自分はCを考える。しばらくしてサンプル通って提出。TLE。DPの値を文字列としていたようなのでそこを訂正してもらい提出。AC。

C

全探索以外解法が全く思いつかない。枝がりすれば通るのだろうという事で書き始める。
残り時間も少なかったので1人コーディング、2人が見守るという体制を取る。
しかしコーディングが間に合わずバグが取れず終了。

反省

まず、Aの制約をしっかり読んでいればもっと簡単に書く事が出来た。
B,D,Eは上手く回ったと思う。
しかし何よりFの解法に気付くのが遅すぎる。東大の人はこの問題を5回は見た事があると言っていたらしい。
Fを早く解けていればCをしっかりデバッグする事が出来、Hが見えてくる。
本当に全てが上手くいっていれば七完もあり得たと思うと残念。
来年は今年のセットで八完するくらいの実力をつけたい。