ICPC 2019 アジア地区横浜大会 参加記
チームPICOPICOPONで参加してきた
とまと視点
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.
おいしい
1日目
昼食
早稲田の人たちで中華街に行って中華を食べる
一部コーチの奢りです、わーい pic.twitter.com/vfkEgyrN1I
— ツバサ (@emtsu_ba) November 16, 2019
おいしい
会場入り
わーい pic.twitter.com/HdzWUXDZxP
— Lgeu(るぎう) (@lgeuwce) November 16, 2019
Eigo is murimuri of muriなのでyamad-sanに全てを任せる
practice contest
環境構築担当のyamadは色々と確認に忙しそうだったが、後ろに座っていた自分は無だった
夜
ABCに出ると、EとFがDPなのでつらい気持ちになる
とまとがperf 2400を叩き出してチーム全員黄色になった めでたい
こどふぉdiv2に出ると、EがDPなのでつらい気持ちになる
やめてくれ?
2日目
朝
なんか日が差してきたので自然に目覚めた
昨日数秒間に合わなかったこどふぉのEを投げたら普通にWAが出た DPはつらい
コンテスト
問題文
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/
6完797分で11位だった
Cは解くべき問題だった気がしていたので惜しかったなあと思っていたけど、蓋を開けてみると思ったより良い位置にいた
因縁
okimochiに1つ差で負けた(4回目)
— Lgeu(るぎう) (@lgeuwce) November 17, 2019
ああ、やっぱり今回もだめだったよ
懇親会
いい生活賞! pic.twitter.com/UaXE3wER8H
— Lgeu(るぎう) (@lgeuwce) November 17, 2019
レトリバ賞! pic.twitter.com/pjF77ffyK9
— Lgeu(るぎう) (@lgeuwce) November 17, 2019
喜びの舞 @ ICPC pic.twitter.com/kQfVYg8nN4
— toma (@25__toma) November 17, 2019
11位ということでいい生活さんとレトリバさんから企業賞をいただけた うれしい
— Lgeu(るぎう) (@lgeuwce) November 17, 2019
おいしい
懇親会では企業ブースが並んでいて、DeNAのブースではパネルにシールを貼るタイプのアンケートをやっていた
自分はアンケートに参加しなかったが、「どんなコンテストに参加していますか?」という質問のKaggleの項目にシールが2枚貼ってあるのを見かけた 誰だろう
その後はGoogleのブースで配布されていた問題に全ての時間を溶かした は?
3日目
企業見学の日
NEC
NEC
— Lgeu(るぎう) (@lgeuwce) 2019年11月18日
今まで食べた立食形式のご飯で一番美味しかったかも pic.twitter.com/974GUtS3kd
グループC(東京近郊組らしい)はNECでご飯だったが、これがめちゃくちゃおいしかった
Twitterを見ても任意の人がNECに胃袋を掴まれていたようだった
説明をしていただいた方に機械学習をやっていて音楽を作っている方がいて親近感が湧いたので昼食のときにお話を聞きに行った
NECの中でもKaggleをやっている人たちがいて集まってチームを組んでメダルを獲ったりしているらしい
競プロの集まりはその方の部署にはまだ無いらしかった
しながわ水族館
ビズリーチの見学ができなくなって代わりに行くことになったらしい
北条そふぃ pic.twitter.com/HvOhEmj63e
— Lgeu(るぎう) (@lgeuwce) November 18, 2019
たのしい
Huawei
ファー(๑>﹏<๑`)ぷぇイ #icpc2019yokohama pic.twitter.com/DuvVqbzTdW
— remin (@reminjpn) 2019年11月18日
まとめ
NECのご飯(来客用)はおいしい……覚えましたし