spark573’s blog

こゃーん

ICPC2017 国内予選 参加記

チーム名:FreedomLife で参加してました

 

3行でわかる要約

・ワイ naotti komatsuの3人メンバー 

・4完38位 予選突破

・B解いたF解けなかった

 

時系列順にふりかえり

-30分 ぼちぼち準備を始める 魔剤を飲み干す

-15分 naottiとkomatsuが戻って来ず少し焦る

-10分 戻ってきたので準備

0分 開始

 方針としては、naottiがA→C、ワイがB→Dと解く感じ その後は適当に

 komatsuは競技勢ではないので問題文のインストをしてもらった

5分 naottiがAをAC

 ワイBを書き始める 

 B問題空白文字ないの好き

15分 実装力がないため一発でサンプルを通せない

25分 サンプルを通して提出するが、ファイルを間違える痛恨のミス

26分 BをAC(1WA) 既に迷惑

 ワイがモタモタしている間にnaottiがCとDの解法を思いついていてプロだった

 ワイはD~Gをkomatsuにインストしてもらった。説明めっちゃわかりやすかった

33分 D~Gの問題文を理解したあたりでnaottiがCをAC

 Dの解法をnaottiに聞き、まあその解法で合っているだろうとなる(全探索 or bitDP)

 順番的にはワイの実装ターンだったけど、実装力で考えてnaottiに実装を任せた

 ワイはとりあえずDに動きがあるまで、見た感じいけそうなEとFを考えた

60分くらい Dのサンプルが合うがWAが帰ってくる

 Eを考えていたが投げてDのデバッグをすることにした

 コードをじっくり眺めるが間違っているとこはなさそう・・・

90分くらい naottiが自らバグに気付く(bitをintで扱っていたがサイズが最大500になるため溢れる)

104分 Dが通る みんなでめっちゃ喜んだ あの瞬間が一番楽しかった

105分 順位表を眺めて、Fやったほうが良さそうという感じになる(Eは考えていたがさっぱりだった)

 ワイはn=3のパターン列挙して法則性を見つけ出す作戦、

 naottiは折りたたむ操作の性質を考察する作戦に出た。

 komatsuはEを考えていた。

 しかしここから大きな進展はなかった

 ワイが考えていたことは、

・j=1の場合の操作を求めて、それをうまいこと変換してj=jに持っていく

・i=1の場合の操作を求めて、それをうまいこと変換してi=iに持っていく

j=1,i=1の場合の操作は求まりそうな感じがしたけど(n=3だけかもしれないので既に信用出来ない)、変換の方法が分からず。

170分 それっぽい法則見つけたけどn=3だけで考えていたため一般的に成り立つか不明

 しかしnaottiもkomatsuムリポって感じだったので実装してみる

178分 サンプル1は通ったけど2は通らず 嘘でした 終了!w

180分 おわり 

 

あれ?Bしか解いてなくね?

微妙にモヤが残るが、予選突破は嬉しかったのでそこはみんなで喜んだ。

ラーメン食べに行った。

 

言い訳タイム

・naottiのプログラミング環境に合わせていたため実装スピードが遅くなった(ワイのプログラミング環境に合わせるよりは成績の期待値が大きいため合理的な選択)

・Dもちゃんと考えて解法が正しい事の裏付けをしていた

・ワイが変に出しゃばらずに合理的な選択を心掛けた

 

おわりに

精進します