ICPC 2019 アジア地区横浜大会 参加記

チームPICOPICOPONで参加してきた

とまと視点

25toma.hatenablog.com

PICOPICOPON

メンバー

yamad

AOJ-ICPCを17万点埋めてる実装のプロ
見てきた問題数がすごいので、典型っぽい問題を相談すると大体なんとかしてくれる
去年はWAsedACとしてWFに出場していた
DPが得意
早起きのプロ

toma25

とまと
去年はMohuhu Universityの一員だった
実装が得意
DPが得意
本番前日に青から黄色になるエンターテイナー
チーム練ではよくデバッグとか高速化にまわってた

nagiss

ICPC初参加
普段はPythonを使ってるけどC++を書くと他の人がデバッグしてくれることに気付いたのでICPCではC++を書くことにした
実装力がない
DPができない

PICOPICOPON is one of Jiro Ramen.

tabelog.com

おいしい

1日目

昼食

早稲田の人たちで中華街に行って中華を食べる

おいしい

会場入り

Eigo is murimuri of muriなのでyamad-sanに全てを任せる

practice contest

環境構築担当のyamadは色々と確認に忙しそうだったが、後ろに座っていた自分は無だった

ABCに出ると、EとFがDPなのでつらい気持ちになる
とまとがperf 2400を叩き出してチーム全員黄色になった めでたい

こどふぉdiv2に出ると、EがDPなのでつらい気持ちになる
やめてくれ?

2日目

なんか日が差してきたので自然に目覚めた

昨日数秒間に合わなかったこどふぉのEを投げたら普通にWAが出た DPはつらい

コンテスト

問題文

Aizu Online Judge Arena

0:00 [0/11]

作戦通り、yamadが環境構築、とまとがAを読み、自分がBを読む

環境構築が終わったあたりでAもBも読み終わっており、どうやらAが少しややこしいらしくBがやるだけだったので、yamadにBの概要を伝えて実装してもらう

Q. なんで自分で実装しないんですか?
A. 3重ループなんて自分で書いたらバグりそうなので

Bの概要を伝えたあと、とまとにA問題の様子を聞いて実装しやすい方法を一緒に考える

0:21 [1/11]

B問題が通ったので、A問題をとまとが実装する

自分は横から覗き込んでバグを見つける役割をした

0:26 [2/11]

A問題が無事通る

次に読む問題を決めようと持ち込んだサイコロを振ると5が出たので、Cから数えて5番目のF(?????)を読む

オーとまとンっぽいから後でとまとに聞いてみるか…と思いながら読み終わると、とまとは前から、yamadは後ろから読んでいるようだったので、次にEを読むことにする

0:45

Eの問題文が長くて苦労しているとHを解くチームが現れ始めている

yamadがHを考えつつ実装を始めているようだった

0:55

Eを解くチームが現れ始める

EはDPっぽい雰囲気なので「多分DPだと思うんですけど~」と言いながらyamadさんに問題を共有すると、Hより早そうらしいのでHを中断してEの実装を始めるようだった

代わりにHの問題を伝えられて、だいたい解法わかってるけどうまく実装する方法考えてみたいなことを言われた

yamadはEの実装に忙しそうだったのでだいたいわかってる解法を自分で考え直すしか無く、この時間は意味があるのか…?と思いながらHを考察するのはしんどかった

1:10

yamadがEに思い違いがったらしく、Hの調子を聞きに来たのでその時点の考察を答えると納得したようでHの実装を始めたようだった

引き続いてHを詰めていく

1:38 [3/11]

Hが通ってようやく3完

とまとが他の問題を色々読んでいたのでCとDあたりを共有してもらう

Gが数チームに解かれていたが文字列なのでyamadの担当らしい

(このあたりの時間帯で自分が何をしてたかあまり覚えていない)

PCが空く時間帯が続く もったいないけど仕方ない

しばらくするとyamadがGの実装を始めた

2:20

E、DP得意な2人がなかなか詰まってるしDPじゃないんじゃないの~?と思ってグラフで考えるとなんかうまくいきそうだったので2人に考察を共有した

yamadがその方針でEの実装を始めた

2:31 [4/11]

Eが通った 早い

調子が良いのでお菓子を取りに行くとパンとおにぎりがあったのでパンをもらう
ホイップクリームパンのホイップクリームの量が多くて良かった

Gの実装をしているyamadに何か取ってきますか?と聞いたがいらないらしい
お茶くみ係への道は長い

自分たちが通しておらず上位の他のチームが通している問題はあとCGIなので自分はCとIを考えることにする

とまとはIは入力が木ならHL分解でできると主張していて、自分はHL分解を知らないのではえ~となっていた
少し考えると入力にサイクルがあればそれは逐次的に潰せるので実質入力は木だろと思ったのでそれを伝えようとするが伝達ミスをしてしまい時間をロスする

3:10

yamadがGを実装したがWAが出る

とまとがデバッグに回る

3:28 [5/11]

Gが通った

そのまま考察はできているが実装激重のIをyamadに伝える
後半部分トポロジカルソートでいけませんか?と口を挟んだけど即座に反例を出されたのでごめんなさいになった

yamadが実装をしてとまとと自分はCを考える

おいおいCこれ座標圧縮してDPでは?とわかってくる 今日もDPかよ勘弁してくれ~~

Iの実装が煮詰まっていくと、とまとがIのテストケース作成に引き抜かれる きつい

4:33 [6/11]

Iが一発で通る(天才)

Cの考察が大体できていたので急いでyamadに伝える

考察はできていたけど実装レベルまで落とせていなかったので、yamadがセグ木を写経したりする横で自分はセグ木に乗せる値の整理をしたりする

4:57

とても間に合いません 諦めです

yamad「指がつりそう」

結果

https://icpcsec.firebaseapp.com/standings/

f:id:nagiss:20191121200610p:plain

6完797分で11位だった

Cは解くべき問題だった気がしていたので惜しかったなあと思っていたけど、蓋を開けてみると思ったより良い位置にいた

因縁

模擬国内 f:id:nagiss:20191121202324p:plain

夏合宿Day1 f:id:nagiss:20191121202557p:plain

夏合宿Day2 f:id:nagiss:20191121202915p:plain

ああ、やっぱり今回もだめだったよ

懇親会

11位ということでいい生活さんとレトリバさんから企業賞をいただけた うれしい

おいしい

懇親会では企業ブースが並んでいて、DeNAのブースではパネルにシールを貼るタイプのアンケートをやっていた
自分はアンケートに参加しなかったが、「どんなコンテストに参加していますか?」という質問のKaggleの項目にシールが2枚貼ってあるのを見かけた 誰だろう

その後はGoogleのブースで配布されていた問題に全ての時間を溶かした は?

3日目

企業見学の日

NEC

グループC(東京近郊組らしい)はNECでご飯だったが、これがめちゃくちゃおいしかった
Twitterを見ても任意の人がNECに胃袋を掴まれていたようだった

説明をしていただいた方に機械学習をやっていて音楽を作っている方がいて親近感が湧いたので昼食のときにお話を聞きに行った
NECの中でもKaggleをやっている人たちがいて集まってチームを組んでメダルを獲ったりしているらしい
競プロの集まりはその方の部署にはまだ無いらしかった

しながわ水族館

ビズリーチの見学ができなくなって代わりに行くことになったらしい

たのしい

Huawei

まとめ

NECのご飯(来客用)はおいしい……覚えましたし