チーム練記録(2020/02/12) 2019-2020 ACM-ICPC Latin American Regional Programming Contest

初めてのチーム練楽しかった~

jupiro Dente kotamanegiで出てた

バチャ流れ

f:id:jupiro:20200212184404p:plain

バチャが始まらないと思ったらkotamanegiが全く違うコンテストで開いてたらしい。(かわいい)

仕切りなおして始める

  • DenteがM解けたというので任せる。僕はEを読む。→M AC(20:00)

  • Eがだいたい解けたなと思ったところで、kotamanegiがI解けたというのでkotamanegiに実装を回す→ 1WA→ I AC(0:26)

  • Eは愚直ににぶたんで個数をみていけばいい→1WA

  • 若干の誤読があった(は??) → E AC(00: 40)

  • ここでkotamanegiがCが解けそうというので、kotamanegiにCを任せて、僕とDenteでGを読む

  • 貪欲で良さそうということになり、Denteに実装を任す→ TLE

  • endlがあったのでそれが原因では? → TLE

  • TLE抜きにそもそもDenteの実装がおかしいことに気づく。

  • 高速な文字列検索をやりたくなるが、KMPやZ-Algorithmを使っていい方法がおもいつかない

  • ライブラリ眺めてるとSuffix Arrayを使えばなんとかなりそうと思った。kotamanegiから実装権をもらいひたすら写経→  G AC(2: 11)

  • kotamanegiのCの実装を待ちながらLを読む

  • 読めな過ぎてHelpをだす f:id:jupiro:20200212185833p:plain

  • 読めたら自明では!?書く → L AC(03:14)

  • Cでkotamanegiがかけたという→TLE

  • セグ木が再帰だったから、非再帰にしてみた→RE → TLE

  • そうこういってるうちにKを解いてるDenteからサンプル3が (x - 3)(x - 9)(x - 11)と言われる

  • 中間値の定理でやるだけでは?(でもどう考えてもオーバーフローするくないか?)

f:id:jupiro:20200212190158p:plain

  • なんか通った。→ K AC(04:19)

  • kotamanegiがCのバグの原因が分かったという→ C AC(04:39)

  • なんとものの数分でFも解けたという → F AC(04:48)

反省点

f:id:jupiro:20200212190910p:plain 初めてのチーム練にしては上出来な気もするが、やっぱり高難易度はkotamanegi依存にどうしてもなってしまうね