ACM-ICPC 2016 国内予選 参加記

チーム結成

hadroriさんからDMが飛んできてよすぽ&dnkチームに空きがあるからどう?と誘われたので参加した。
僕が最年長だけど競プロ的には最弱なのでつらい。
あと、自分だけJavaを使うので若干デバッグで不利かもしれない。

チーム名がなかなか決まらず「po」になった。
http://icpc.logic.cs.tsukuba.ac.jp/team/279830

模擬Bとそれとは別に練習1回やって国内予選へ。

国内予選

まずBを読んでBを解いた。
ICPC特有の事情によってJavaはテンプレが必要だが、ちゃんと準備してなくて焦った。
難しく無い問題の割に時間をかけてしまった。

次にCの解法が降ってきたのでそれを実装した。
降ってきた解法がやや間違っていたが勘違いだったのですぐに修正できた。

D,Eをチームメイトが実装している間にFを考えた。
前半パートの時点で既に実装が重そうでつらい。
No.348 カゴメカゴメ - yukicoder
を思い出した。

後半パートは(根付き)木の同型判定になることが分かった。
木の同型判定は、部分木の同型判定を行ってマッチングを使うと可能なのは知っていたが、つらそうだと思った。
Fは実装が重そうなので後回しされることになった。

Gの解法を聞きながら「合ってるんじゃない?」とか言ったら不完全で結果爆発炎上した。

結果的にABCDEの5完でアジア地区予選に進めそうなので頑張ります。

予選後

懇親会に参加してチーム内反省会をするなどした。
帰って一人二次会(お酒を飲むだけ)をしながらこれを書いている。

反省

ICPCでのJava

3人チームという都合上若干肩身が狭い。
あと、自分はどうしてもEclipseでコーディングしたいのだが、標準入力を使うと入力がめっちゃデカイ時になんか怖い。
一方ファイル名を埋め込むと、予選のルール上ファイル名を変えられないのでちょっと困る。
そこで、標準入力でファイル名を読み込んで、そのファイル名を読み込む形式にしていた。
出力もコピペを使うとミスりそうで怖いのでファイル出力にした。
ここらへんの良い方法が知りたい。

木の同型判定

ハッシュを使う方法もあるらしい。

チーム戦

チーム特有の戦術をもっと詰められたらいいなあと思った。