day 1
別のことが忙しかったので欠席。
day 2
UHISHIRO(siro53, suta, kiyoshi0205)で出ました。
内容
- ぼく「タイピングやるだけ」Aを通す。
- その後すぐsutaがBを通す。
- この間に僕がEを読んでいて、まぁDPでいけるんじゃね~みたいな感じのことをsutaに伝える。少し相談して解法が出る。
- 少しした後にkiyoshi0205がCを通す。
- 僕がEでDPを実装するがサンプル合わない。もう一度sutaに相談して少し考えると、嘘DPであることがわかりました。ごめんなさい...
- 直してEが通る。
- たしかこの間にkiyoshiがFを読んでて、「凸関数の和は凸だし三分探索やるだけでは?」って叫んでた。kiyoshiがFを書く。WAが出る。
- 平坦な場所ができるとまずいので、それをsutaと相談してなんやかんやして通してた。僕は問題を全く知らず... その間にGを読む。
- sutaがダイクストラしたいみたいなことを言ってたけど、愚直に辺を張ると最悪O(N2)本になるケースが作れてしまったのでどうしようとなる。
- kiyoshiにも概要を説明して、Jを考察していたsutaに参加する。全く歯が立ちません...
- しばらく考えていたけど全くわからん、といったところでkiyoshiがGを区間に辺を張るテクで解けたと主張。Lorentさんの記事を引っ張りだして実装を開始。その間にJを考えていたけどオーダーが落ちる気配がしない......
- kiyoshiがGを提出するけどWA。なんで???となるがソートし忘れていたらしく、直すとAC
- 残り5分でも粘ってJを考えていたけどわからずコンテスト終了ーーー。
結果・反省
6完19位
Eレベルのやつを人に相談するな、自分で通せ!!!
早解きできてればRamen as a Serviceに勝てたかもしれないため大反省(1位差だった)
Give usには勝てたらしい、kiyoshiのおかげ
day 3
昨日と同じくUHISHIROで出た
内容
- Aを見て「面倒なbfsするやつか!?」と思って激焦りする
- sutaがBを爆速で書いてAC、全体3位で草 すげえ
- よく読むと簡単な場合分けするだけだった、kiyoshiがCを通した後Aをぱぱっと書いてAC ここまでの速度はかなり速かったと思う
- kiyoshiがDを解いてて、僕がEの概要をsutaから聞く。kiyoshiがDがギャグらしいので書いてたけど落ちた。
- 僕がsutaとEを詰める。実はmodを取る回数はそんなに多くないのでは、みたいなことを言っていると、今の数字よりも小さいかつ今見てるindexに最も近いindexを高速に探せればいいねとなり、これはセグ木でできそうとsutaが言うので書いて頂く。(実装方針がぱっと思い浮かばなかった)(カス)(ごめん)
- kiyoshiがDを再考して実装して出すと落ちる。この間にsutaがEを書き、kiyoshiの解法を聞きながらDのデバッグをする。
- 解法を聞いてると序盤で既にダメな箇所が見つかる。2人で笑いながら修正するとAC
- sutaが書き上げるけど、僕が出したサンプルが通らない。kiyoshiが介入すると、実はもっと実装が楽になることがわかる。sutaが書き直してAC
- この間にFをkiyoshiと詰めてた。添字とか細かいところでkiyoshiと食い違いがあったけど、僕が書いてAC。
- 3人でGを考えてると、kiyoshiがbitDPを思いつくけどO(2m*m3)らしい、後にsutaが高速化を思いつき、2人で必死にデバッグしているところを僕は眺めていました...(かなり根本的なところで分かってなくて考察に参加できなかった、ちゃんとupsolveしました...)
結果
6完35位
僕に実力があればなア
チーム練で初めてdiscordの画面共有を使ってデバッグしたけど、めちゃくちゃ効率が良かったのでこれからも採用!w